以下代码可以直接拿去测试使用,供首次了解的新人。本文使用dom4j,对于java来说,这是比较优秀的解析方式
dom4j生成XML文件
import java.io.File;
import java.io.FileOutputStream;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class Dom4jXml {
/**
* 生成xml方法
*/
public static void createXml(){
try {
// 1、创建document对象
Document document = DocumentHelper.createDocument();
// 2、创建根节点rss
Element rss = document.addElement("rss");
// 3、向rss节点添加version属性
rss.addAttribute("version", "2.0");
// 4、生成子节点及子节点内容
Element channel = rss.addElement("VALUE");
Element title = channel.addElement("NAME");
title.setText("欢乐的ABC");
// 5、设置生成xml的格式
OutputFormat format = OutputFormat.createPrettyPrint();
// 设置编码格式
format.setEncoding("UTF-8");
// 6、生成xml文件
File file = new File("F://ABC.xml");
XMLWriter writer = new XMLWriter(new FileOutputStream(file), format);
// 设置是否转义,默认使用转义字符
writer.setEscapeText(false);
writer.write(document);
writer.close();
System.out.println("生成ABC.xml成功");
} catch (Exception e) {
e.printStackTrace();
System.out.println("生成ABC.xml失败");
}
}
}
dom4j导入XML文件
XML文件
<?xml version="1.0" encoding="GB2312"?>
<RESULT>
<VALUE>
<NAME>李四</NAME>
<SEX>男</SEX>
</VALUE>
<VALUE>
<NAME>菲菲</NAME>
<SEX>女</SEX>
</VALUE>
</RESULT>
import java.io.*;
import java.util.*;
import org.dom4j.*;
import org.dom4j.io.*;
public class MyXMLReader2DOM4J {
public static void main(String arge[]) {
long lasting = System.currentTimeMillis();
try {
File f = new File("F://abc.xml");
SAXReader reader = new SAXReader();
Document doc = reader.read(f);
Element root = doc.getRootElement();
Element foo;
for (Iterator i = root.elementIterator("VALUE"); i.hasNext();) {
foo = (Element) i.next();
System.out.print("姓名:" + foo.elementText("NAME"));
System.out.println("性别:" + foo.elementText("SEX"));
}
} catch (Exception e) {
e.printStackTrace();
}
}
}