`
xiaoliang330
  • 浏览: 115389 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

xml解析集聚

    博客分类:
  • xml
阅读更多
贴上几个xml解析的程序,以后好翻阅


package com.ibm.test;

import java.io.File;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

public class JDomTest {
	public static void main(String[] args) {
		SAXBuilder saxBuilder = new SAXBuilder();
		try {
			Document doc = saxBuilder.build(new File("domdb.xml"));

			// 首先创建好节点
			Element eltDb = new Element("db");	
			Element eltDriver = new Element("driver");
			Element eltUrl = new Element("url");
			Element eltUser = new Element("user");
			Element eltPassword = new Element("password");

			// 设置节点的值
			eltDriver.setText("com.mysql.jdbc.Driver");
			eltUrl.setText("jdbc:mysql://localhost/mySql");
			eltUser.setText("root");
			eltPassword.setText("xlc");

			// 添加到根节点
			eltDb.addContent(eltDriver);
			eltDb.addContent(eltUrl);
			eltDb.addContent(eltUser);
			eltDb.addContent(eltPassword);
			// 根节点设置属性
			eltDb.setAttribute("type", "mysql");
			
			Element root = doc.getRootElement();//This will return the root element for this document
			// root.removeChild("db");//删除节点
			root.addContent(eltDb);// 增加节点

			// 修改db节点中内容
			root.getChild("db").getChild("user").setText("system");
			root.getChild("db").getChild("password").setText("manager");

			XMLOutputter xmlOut = new XMLOutputter();

			// 设置XML格式
			Format fmt = Format.getPrettyFormat();
			fmt.setIndent("    ");
			fmt.setEncoding("utf-8");

			xmlOut.setFormat(fmt);
			xmlOut.output(doc, System.out);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}






package com.ibm.test;

import java.io.FileWriter;
import java.io.IOException;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

/**
 * 写入文件或输出
 * 
 * @author xll
 * 
 */
public class Dom4jWrite {

	public static void main(String[] args) {
		Document doc = DocumentHelper.createDocument();

		doc.addProcessingInstruction("xml-stylesheet",
				"type='text/xsl' href='db.xsl'");
		doc.addDocType("dbconfig", null, "db.dtd");

		// Element root=DocumentHelper.createElement("dbconfig");
		// doc.setRootElement(root);
		Element root = doc.addElement("dbconfig");

		Element eltDb = root.addElement("db");
		Element eltDriver = eltDb.addElement("driver");
		Element eltUrl = eltDb.addElement("url");
		Element eltUser = eltDb.addElement("user");
		Element eltPassword = eltDb.addElement("password");

		eltDriver.setText("com.mysql.jdbc.Driver");
		eltUrl.setText("jdbc:mysql://localhost/mySql");
		eltUser.setText("root");
		eltPassword.setText("xlc");
		eltDb.addAttribute("type", "mysql");

		try {
			// 设置输出格式
			OutputFormat outFmt = new OutputFormat("    ", true);
			outFmt.setEncoding("UTF-8");

			/**//*
				 * PrintWriter pw = new PrintWriter(System.out); doc.write(pw);
				 * pw.flush(); pw.close();
				 */

			// XMLWriter xmlWriter = new XMLWriter(System.out, outFmt);
			XMLWriter xmlWriter = new XMLWriter(new FileWriter("db.xml"),
					outFmt);
			xmlWriter.write(doc);
			xmlWriter.flush();
			xmlWriter.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}







package com.ibm.test;

import java.io.File;
import java.io.FileWriter;
import java.util.Iterator;
import java.util.List;

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

public class Dom4jModify {
	public Document modifyDocument(File inputXml) {
		try {
			SAXReader saxReader = new SAXReader();
			Document document = saxReader.read(inputXml);
			document.addDocType("dbconfig", null, "db.dtd");
			List list = document.content();

			// Iterator iter = document.nodeIterator();
			Iterator iter = list.iterator();

			Element element = (Element) iter.next();
			element.element("db").attribute("type").setValue("mysql");
			element.element("db").element("url").setText(
					"jdbc:mysql://localhost/mySql");
			element.element("db").element("driver").setText(
					"com.mysql.jdbc.Driver");
			element.element("db").element("user").setText("root");
			element.element("db").element("password").setText("xlc");

			// 设置输出格式
			OutputFormat outFmt = new OutputFormat("    ", true);
			outFmt.setEncoding("UTF-8");

			XMLWriter xmlWriter = new XMLWriter(new FileWriter(
					"domdb-modified.xml"), outFmt);
			xmlWriter.write(document);
			xmlWriter.flush();
			xmlWriter.close();
			return document;
		} catch (Exception e) {
			System.out.println(e.getMessage());
			return null;
		}
	}

	public static void main(String[] args) throws Exception {
		Dom4jModify dom4jParser = new Dom4jModify();
		Document document = dom4jParser.modifyDocument(new File("domdb.xml"));

		OutputFormat outFmt = new OutputFormat("    ", true);
		outFmt.setEncoding("UTF-8");
		XMLWriter xmlWriter = new XMLWriter(System.out, outFmt);
		xmlWriter.write(document);
		xmlWriter.flush();
		xmlWriter.close();
	}
}








package com.ibm.xml;


import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.jdom.output.XMLOutputter;
/**
 * Jdom解析
 * @author xll
 *
 */
public class JdomXmlDocument implements XmlDocument{

	public void createXml(String fileName) {
		Document document;   
		Element  root;   
		root=new Element("employees");   
		document=new Document(root);   
		Element employee=new Element("employee");   
		root.addContent(employee);   
		Element name=new Element("name");   
		name.setText("ddvip");   
		employee.addContent(name);   
		Element sex=new Element("sex");   
		sex.setText("m");   
		employee.addContent(sex);   
		Element age=new Element("age");   
		age.setText("23");   
		employee.addContent(age);   
		XMLOutputter XMLOut = new XMLOutputter();   
		try {   
			XMLOut.output(document, new FileOutputStream(fileName));   
		} catch (FileNotFoundException e) {   
			e.printStackTrace();   
		} catch (IOException e) {   
			e.printStackTrace();   
		}   
	}

	@SuppressWarnings("unchecked")
	public void parserXml(String fileName) {
		SAXBuilder builder=new SAXBuilder(false);    
		try {   
			Document document=builder.build(fileName);   
			Element employees=document.getRootElement();    
			List employeeList=employees.getChildren("employee");  
			//System.out.println("employeeList.size()" + employeeList.size());
			for(Iterator iter = employeeList.iterator();iter.hasNext();){
				Element employee=(Element)iter.next(); 
				List employeeInfo=employee.getChildren();  
				//System.out.println(employeeInfo.size());
				for(int i = 0;i < employeeInfo.size();i++){
					System.out.println(((Element)employeeInfo.get(i)).getName()+":"+((Element)employeeInfo.get(i)).getValue());   
				}
			}
		} catch (JDOMException e) {
			e.printStackTrace();   
		} catch (IOException e) { 
			e.printStackTrace();   
		} 
	}
}









package com.ibm.xml;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.Iterator;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

/**
 * Dom4j
 * 
 * @author Administrator
 * 
 */
public class Dom4jXmlDocument implements XmlDocument {

	public void createXml(String fileName) {
		Document document = DocumentHelper.createDocument();
		Element employees = document.addElement("employees");
		Element employee = employees.addElement("employee");
		Element name = employee.addElement("name");
		name.setText("ddvip");
		Element sex = employee.addElement("sex");
		sex.setText("m");
		Element age = employee.addElement("age");
		age.setText("29");
		try {
			Writer fileWriter = new FileWriter(fileName);
			XMLWriter xmlWriter = new XMLWriter(fileWriter);
			xmlWriter.write(document);
			xmlWriter.close();
		} catch (IOException e) {
			System.out.println(e.getMessage());
		}
	}

	public void parserXml(String fileName) {
		File inputXml = new File(fileName);
		SAXReader saxReader = new SAXReader();
		try {
			Document document = saxReader.read(inputXml);
			Element employees = document.getRootElement();
			for (Iterator i = employees.elementIterator(); i.hasNext();) {
				Element employee = (Element) i.next();
				for (Iterator j = employee.elementIterator(); j.hasNext();) {
					Element node = (Element) j.next();
					System.out.println(node.getName() + ":" + node.getText());
				}
			}
		} catch (DocumentException e) {
			System.out.println(e.getMessage());
		}
	}
}


分享到:
评论

相关推荐

    易语言 xml解析 易语言 xml解析 教程 带源码

    易语言XML解析是编程领域中的一个重要主题,尤其对于使用易语言进行开发的程序员来说,理解并掌握XML(可扩展标记语言)的解析方法是至关重要的。XML作为一种结构化数据存储和交换格式,广泛应用于网络通信、配置...

    java xml解析工具类 java xml解析工具类

    java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析...

    XML解析器示例

    在LabVIEW(Laboratory Virtual Instrument Engineering Workbench)这个强大的图形化编程环境中,XML解析器是处理和操作XML数据的关键工具。本示例主要展示了如何在LabVIEW中实现XML文件的加载、保存和解析。 首先...

    XML解析工具

    读取和设置xml配置文件是最常用的操作,试用了几个C++的XML解析器,个人感觉TinyXML是使用起来最舒服的,因为它的API接口和Java的十分类似,面向对象性很好。 TinyXML是一个开源的解析XML的解析库,能够用于C++,...

    xml解析文件的两种方式

    本文将详细介绍XML解析文件的两种主要方式:SAX(Simple API for XML)和DOM(Document Object Model)。 **1. DOM解析** DOM解析方式是将整个XML文档加载到内存中,构建一个树形结构,称为DOM树。这个树的每个...

    MusicXML 解析与布局

    MusicXML是一种开放标准的音乐符号交换格式,它允许数字音乐...总之,"MusicXML解析与布局"项目涵盖了XML解析、数据结构设计、图形渲染、音乐理论等多个方面的知识,对于深入理解音乐和计算机科学的结合具有重要意义。

    java心电图xml解析.zip

    Java XML解析是Java开发中的一项重要技能,尤其是在处理结构化数据时。XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于配置文件、数据交换和文档存储等领域。本压缩包“java心电图xml解析....

    适合嵌入式系统的开源XML解析器

    在嵌入式系统中,由于资源限制,往往需要轻量级且高效的XML解析器。"minixml"就是这样一个专为嵌入式系统设计的开源XML解析器,它提供DOM(Document Object Model)支持,使得开发者能够方便地处理XML文档。 mini...

    STM32解析XML

    2. **配置内存**:由于STM32F107的内存有限,可能需要调整minixml库的内存分配策略,例如预分配一定大小的内存池来处理XML解析过程中的动态内存需求。 3. **读取XML文件**:使用STM32的文件系统功能读取XML文件内容...

    ios 简单xml解析DEMO绝对可用

    本教程将介绍如何在iOS应用中实现简单的XML解析,并提供了一个名为"UITableViewTricks"的DEMO,供开发者们参考学习。 XML文件结构清晰,易于理解,但在iOS中解析XML数据并非内置功能,需要借助第三方库或者Apple...

    比较通用的xml解析方法

    本篇文章将详细探讨一种比较通用的XML解析方法,适用于各种编程环境。 在处理XML文件时,我们通常会遇到两种主要的解析方式:DOM(Document Object Model)和SAX(Simple API for XML)。DOM将整个XML文档加载到...

    XML解析支持库

    XML解析支持库则是用于处理XML文档的核心工具,它们帮助开发者有效地读取、解析、创建和操作XML数据。 在Java开发中,常见的XML解析库有DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming...

    iphone开发之xml解析

    本篇将详细讲解iPhone开发中的XML解析技术。 首先,XML解析是将XML文档转换为程序可以理解的数据结构的过程。在iOS开发中,有两种主要的XML解析方式:DOM(Document Object Model)和SAX(Simple API for XML)。 ...

    XML解析器下载JAR包

    XML解析器是处理XML文档的核心组件,它能够读取XML文件并将其内容转换为程序可以理解的形式。在Java环境中,XML解析器通常以JAR(Java Archive)文件的形式提供,方便开发者集成到项目中。 "XML解析器下载JAR包"这...

    java在线解析xmljava在线解析xmljava在线解析xmljava在线解析xml

    java在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava...

    XML解析技术研究XML解析技术研究

    XML解析技术是XML应用的核心,它涉及将XML文档转换为可处理的结构化数据。XML,全称为eXtensible Markup Language,是一种元语言,用于描述结构化数据,独立于编程语言、操作系统和传输协议。W3C联盟自1996年开始...

    js的XML解析器 可以解析XMl文件和XML字符串

    JavaScript中的XML解析器是用于处理XML数据的关键工具,它允许开发者在浏览器环境中解析XML文档或者XML字符串,从而在Web应用中有效地使用这些数据。XML(eXtensible Markup Language)是一种结构化数据语言,常用于...

    xml 解析源代码和应用

    本压缩包包含了一个C#原创的XML解析程序,以及其在实际应用中的例子,帮助我们深入理解XML解析的原理和实践。 XML文档由一系列元素组成,每个元素可以有子元素和属性,通过这些元素,XML可以描述复杂的数据结构。在...

    xml解析器(解决XML错误)

    “xml解析器”就是用来解决这类问题的工具,它们读取XML文档并检查其语法和结构是否符合XML规范。安装一个可靠的XML解析器可以帮助开发者识别并修复这些问题,确保XML文件的有效性和可读性。本压缩包提供了两个XML...

    XML解析框架比较

    本文将深入探讨几种常见的XML解析框架,并对比它们的特点与适用场景。 一、DOM解析器 DOM(Document Object Model)是W3C制定的一种标准,它将XML文档视为一个树形结构,允许开发者通过节点操作来读取和修改XML内容...

Global site tag (gtag.js) - Google Analytics