XML生成与解析
2009-06-16 22:08
417 查看
package com;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class Test {
// *生成xml
public String createXML()
{
try {
// 生成根节点,并为根节点添加属性和属性值
Element root = (Element) DocumentHelper.createElement("根节点")
.addAttribute("id", "编号").addAttribute("name", "名称");
// 生成子节点,并为子节点添加属性和属性值
Element childElement = DocumentHelper.createElement("子节点")
.addAttribute("id", "子节点编号");
// 为节点添加值
childElement.addText("子节点值");
// 将子节点添加到根节点
root.add(childElement);
String filename = "jinchun.xml";
Document responseDoc = DocumentHelper.createDocument(root);
OutputFormat outputFormat = OutputFormat.createPrettyPrint();
outputFormat.setEncoding("GB2312");
XMLWriter xMLWriter = new XMLWriter(new FileWriter(filename),
outputFormat);
xMLWriter.write(responseDoc);
xMLWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
return "new ok!";
}
/** * 解析XML */
public void parseXML() {
try {
SAXReader sAXReader = new SAXReader();
// 要解析的xml文件
File file = new File("jinchun2.xml");
Document document = sAXReader.read(file);
// 获取根节点
Element acreen = document.getRootElement();
// 打印根节点属性
System.out.println(acreen.attributeValue("id"));
System.out.println(acreen.attributeValue("name"));
// 获取子节点
List<Element> helloments = acreen.elements("子节点");
for (Element helloment : helloments) {
// 打印子节点属性
System.out.println(helloment.attributeValue("id"));
System.out.println(helloment.getText());
}
} catch (DocumentException e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
Test test = new Test();
test.createXML();
test.parseXML();
}
}
********************
jinchun2.xml文件
<?xml version="1.0" encoding="GB2312"?>
<根节点 id="编号" name="名称">
<子节点 id="子节点编号1">子节点值</子节点>
<子节点 id="子节点编号2">子节点值</子节点>
<子节点 id="子节点编号3">子节点值</子节点>
<子节点 id="子节点编号4">子节点值</子节点>
<子节点 id="子节点编号5">子节点值</子节点>
<子节点 id="子节点编号6">子节点值</子节点>
</根节点>
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class Test {
// *生成xml
public String createXML()
{
try {
// 生成根节点,并为根节点添加属性和属性值
Element root = (Element) DocumentHelper.createElement("根节点")
.addAttribute("id", "编号").addAttribute("name", "名称");
// 生成子节点,并为子节点添加属性和属性值
Element childElement = DocumentHelper.createElement("子节点")
.addAttribute("id", "子节点编号");
// 为节点添加值
childElement.addText("子节点值");
// 将子节点添加到根节点
root.add(childElement);
String filename = "jinchun.xml";
Document responseDoc = DocumentHelper.createDocument(root);
OutputFormat outputFormat = OutputFormat.createPrettyPrint();
outputFormat.setEncoding("GB2312");
XMLWriter xMLWriter = new XMLWriter(new FileWriter(filename),
outputFormat);
xMLWriter.write(responseDoc);
xMLWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
return "new ok!";
}
/** * 解析XML */
public void parseXML() {
try {
SAXReader sAXReader = new SAXReader();
// 要解析的xml文件
File file = new File("jinchun2.xml");
Document document = sAXReader.read(file);
// 获取根节点
Element acreen = document.getRootElement();
// 打印根节点属性
System.out.println(acreen.attributeValue("id"));
System.out.println(acreen.attributeValue("name"));
// 获取子节点
List<Element> helloments = acreen.elements("子节点");
for (Element helloment : helloments) {
// 打印子节点属性
System.out.println(helloment.attributeValue("id"));
System.out.println(helloment.getText());
}
} catch (DocumentException e) {
e.printStackTrace();
}
}
public static void main(String args[]) {
Test test = new Test();
test.createXML();
test.parseXML();
}
}
********************
jinchun2.xml文件
<?xml version="1.0" encoding="GB2312"?>
<根节点 id="编号" name="名称">
<子节点 id="子节点编号1">子节点值</子节点>
<子节点 id="子节点编号2">子节点值</子节点>
<子节点 id="子节点编号3">子节点值</子节点>
<子节点 id="子节点编号4">子节点值</子节点>
<子节点 id="子节点编号5">子节点值</子节点>
<子节点 id="子节点编号6">子节点值</子节点>
</根节点>
相关文章推荐
- 使用dom4j生成xml字符串,以及解析xml字符串
- 动态解析XML生成EXCEL
- JDom解析和生成XML文档
- Pull解析器解析XML文件和生成XML文件
- 四种生成和解析XML文档的方法详解(介绍+优缺点比较+示例)
- box2d 描点工具生成b2Shape数据(xml通用格式),oc、c++解析模块类文件,b2Shape数据可视化工具
- XML生成和解析
- silverlight 生成图表 WCF 解析XML代码.svc.cs 文件
- dom4j解析以及生成xml字符串测试
- Android进阶——使用Pull解析和生成轻量级数据XML
- Dom4j解析和生成XML文档
- DOM生成XML文档与解析XML文档(JUNIT测试)
- Android学习笔记---15_采用Pull解析器解析和生成XML内容
- Dom解析和生成XML文档
- dom4j解析、修改、生成xml文件
- PHP实现生成XML数据和解析XML格式数据
- Android提高第七篇之XML解析与生成
- 采用Pull解析器解析和生成XML内容
- XML文件生成和解析
- python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)