您的位置:首页 > 其它

xml读写操作

2013-02-21 00:33 211 查看
package com.demo.WriteXml;

import java.io.File;

import java.io.FileOutputStream;

import java.util.Iterator;

import org.dom4j.Document;

import org.dom4j.DocumentHelper;

import org.dom4j.Element;

import org.dom4j.io.OutputFormat;

import org.dom4j.io.SAXReader;

import org.dom4j.io.XMLWriter;

/**

* @作者: Leiyt 创建时间:2013-2-20下午5:11:50

*/

public class OperateXML {

public static void main(String[] args) {

String filePath = "menu.xml";

try {

OperateXML test = new OperateXML();

test.writeXML(filePath);

test.readXML(filePath);

} catch (Exception e) {

e.printStackTrace();

}

}

/**

* 读取XML文件

*

* @throws Exception

*/

public void readXML(String filePath) throws Exception {

SAXReader reader = new SAXReader();

File file = new File(filePath); // 创建文件对象

Document document = reader.read(file); // 读取文件对象

Element root = document.getRootElement(); // 获取根节点

for (Iterator iter = root.elementIterator(); iter.hasNext();) { // 循环读取子节点

Element ul = (Element) iter.next();

System.out.println(ul.attributeValue("title"));

System.out.println(ul.attributeValue("url"));

for (Iterator it = ul.elementIterator(); it.hasNext();) { // 循环读取子节点

Element li = (Element) it.next();

System.out.println(li.attributeValue("title"));

System.out.println(li.attributeValue("url"));

}

}

}

/**

* 创建XML文件

*

* @throws Exception

*/

public void writeXML(String filePath) throws Exception {

Document document = DocumentHelper.createDocument();

Element menu = document.addElement("manu");// 添加根节点

Element ul, li = null;

String[] title = { "MENU", "A", "B", "C", "D", "E" };

// 循环添加子节点

for (int i = 0; i < title.length; i++) {

ul = menu.addElement("ul");

li = ul.addAttribute("title", title[i]).addAttribute("url",

title[i] + ".jsp");

if (i == 0 || i == title.length - 1)

continue;

else {

ul.addElement("li")

.addAttribute("title", title[i].toLowerCase() + "1")

.addAttribute("url", title[i].toLowerCase() + "1.jsp");

ul.addElement("li")

.addAttribute("title", title[i].toLowerCase() + "2")

.addAttribute("url", title[i].toLowerCase() + "2.jsp");

}

}

OutputFormat format = OutputFormat.createPrettyPrint(); // 设置XML文档输出格式

format.setEncoding("UTF-8"); // 设置XML文档的编码类型

XMLWriter writer = new XMLWriter(new FileOutputStream(filePath), format);

writer.write(document);

writer.close();

}

}

/************运行后效果************/

<?xml version="1.0" encoding="UTF-8"?>

<manu>

<ul title="MENU" url="MENU.jsp"/>

<ul title="A" url="A.jsp">

<li title="a1" url="a1.jsp"/>

<li title="a2" url="a2.jsp"/>

</ul>

<ul title="B" url="B.jsp">

<li title="b1" url="b1.jsp"/>

<li title="b2" url="b2.jsp"/>

</ul>

<ul title="C" url="C.jsp">

<li title="c1" url="c1.jsp"/>

<li title="c2" url="c2.jsp"/>

</ul>

<ul title="D" url="D.jsp">

<li title="d1" url="d1.jsp"/>

<li title="d2" url="d2.jsp"/>

</ul>

<ul title="E" url="E.jsp"/>

</manu>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: