您的位置:首页 > 其它

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">子节点值</子节点>
</根节点>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: