1.TestDom4J.java
package com.fayhong.test;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
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;
import com.fayhong.util.Helper;
public class TestDom4J {
public static void main(String args[]){
//DOM4J使用示例
TestDom4J testDom4J=new TestDom4J();
testDom4J.jiexi();
testDom4J.test();
}
public void test(){
Document document = DocumentHelper.createDocument();
Element reportElement = document.addElement("Report");
Element person=reportElement.addElement("Person");
Element name=person.addElement("name");
name.setText("xiajin");
name.setAttributeValue("des", "姓名");
Element no=person.addElement("no");
no.setAttributeValue("des", "学号");
no.setText("03551220");
Element person2=reportElement.addElement("Person");
Element name2=person2.addElement("name");
name2.setText("luobihong");
Element no2=person2.addElement("no");
no2.setText("03551225");
File dirFile = null;
dirFile = new File("d:/file/飞鸿科技");
if (!(dirFile.exists()) && !(dirFile.isDirectory())) {
boolean creadok = dirFile.mkdirs();
if (creadok) {
System.out.println(" ok:创建文件夹成功! ");
} else {
System.out.println(" err:创建文件夹失败! ");
}
}
StringBuffer sb = new StringBuffer();
try {
sb.append(dirFile.getCanonicalPath()).append("/").append(Helper.generateCurrentDateB()).append(".xml");
XMLWriter xmlWriter = new XMLWriter(new FileWriter(new File(sb.toString())));
xmlWriter.write(document);
xmlWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(sb.toString());
}
public void jiexi(){
try {
Document document = new SAXReader().read(Thread.currentThread().getContextClassLoader().getResourceAsStream("test.xml"));
List list=document.selectNodes("//Report/Person");
for (Iterator iterator = list.iterator(); iterator.hasNext();) {
Element element = (Element) iterator.next();
// System.out.println("name==="+element.getName());
// System.out.println("attributeValue==="+element.attributeValue("a"));
// System.out.println("number==="+element.elementText("number"));
// System.out.println("getText==="+element.getStringValue());
List list2=element.elements();
for (Iterator iterator2 = list2.iterator(); iterator2.hasNext();) {
Element name = (Element) iterator2.next();
System.out.println(name.getName()+" : "+name.getText()+name.attributeValue("des"));
}
}
Element e=document.getRootElement();
List el=e.elements();
for (Iterator iterator = el.iterator(); iterator.hasNext();) {
Element element = (Element) iterator.next();
List list2=element.elements();
for (Iterator iterator2 = list2.iterator(); iterator2.hasNext();) {
Element name = (Element) iterator2.next();
System.out.println(name.getName()+" : "+name.getText()+name.attributeValue("des"));
}
}
System.out.println(e);
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
2.test.xml
<?xml version="1.0" encoding="UTF-8"?>
<Report><Person><name des="姓名">xiajin</name><no des="学号">03551220</no></Person><Person><name>luobihong</name><no>03551225</no></Person></Report>
分享到:
相关推荐
tinyxml 读写xml方法,简单易用!
用System.Xml 读写XML
本人没分了,特别来分享一下,通用的XML读写工具类,同志们下下绝对不后悔
xml读写帮助类
xml读写代码,tinyxml内有2个.h和4个.cpp加载到自己的代码中即可直接用
XML读写配置文件类封装
sqlite3 xml读写
vc++用tinyxml读写xml配置文件,将这几个文件添加到工程里可以直接连接
一点心得分享给大家,简单的XML读写类,方便的开发应用程序
自己写的c#下的xml读写函数,希望能给新手带来帮助
c#_xml读写_操作_实例,经过测试,完全可以使用的。
pugixml读写XML示例 pugixml读写XML示例 pugixml读写XML示例
JSP实现对XML读写,教你如果修改xml
vn.net 2008 的xml读写 'Dim xnl As XmlNode = xmldoc.SelectSingleNode("items/fnode") '读取单个节点 'Dim xe As XmlElement = CType(xnl, XmlElement) 'Trace.WriteLine(xnl("id").InnerText) 'Trace....
xml c++ tinyxml xml读写 日志记录 vc mfc
C++ XML 读写 实现对XML文件的读写操作
本文档的内容主要是Java语言利用DOM技术对XML进行读写,里面还有实例
VC XML读写类,可方便操作XML文档。
MFC利用tinyXML 编写的XML读写示例。较简单。有参考价值。
C++ XML读写工具 - tinyxml C++ XML读写工具 - tinyxml