XML生成与解析

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">子节点值</子节点>
</根节点>

你可能感兴趣的:(xml)