dom4j 解析生成xml 案例

Posted wangfl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dom4j 解析生成xml 案例相关的知识,希望对你有一定的参考价值。

生成XML
public void testCreateXml() {
//创建一个xml文档
Document doc = DocumentHelper.createDocument();
//向xml文件中添加注释
doc.addComment("这里是注释");
//创建一个名为students的节点,因为是第一个创建,所以是根节点,再通过doc创建一个则会报错。
Element root = doc.addElement("students");
//在root节点下创建一个名为student的节点
Element stuEle = root.addElement("student");
//给student节点添加属性
stuEle.addAttribute("id", "101");
//给student节点添加一个子节点
Element nameEle = stuEle.addElement("name");
//设置子节点的文本
nameEle.setText("张三");
//用于格式化xml内容和设置头部标签
OutputFormat format = OutputFormat.createPrettyPrint();
//设置xml文档的编码为utf-8
format.setEncoding("utf-8");
Writer out;
try {
//创建一个输出流对象
out = new FileWriter("E:\\workspace_fwl\\mybeatits\\src\\main\\java\\pojo\\testXmlFl.xml");
//创建一个dom4j创建xml的对象
XMLWriter writer = new XMLWriter(out, format);
//调用write方法将doc文档写到指定路径
writer.write(doc);
writer.close();
System.out.print("生成XML文件成功");
} catch (IOException e) {
System.out.print("生成XML文件失败");
e.printStackTrace();
}
}

解析XML
public static void main(String arge[]) {
String path = XmlUtil.class.getClassLoader().getResource("\\src\\main\\java\\pojo\\testXml.xml").getPath();

try {
File f = new File("E:\\workspace_fwl\\mybeatits\\src\\main\\java\\pojo\\testXml.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.println("车牌号码"+ foo.attributeValue("id"));
System.out.println("车牌号码"+ foo.elementText("NO"));
System.out.println("车牌号码"+ foo.elementText("ADDR"));

}
} catch (DocumentException e) {
e.printStackTrace();
}

StudentImpl s = new StudentImpl();


// Dom4jCreateXML xml = new Dom4jCreateXML();
s.testCreateXml();
}








以上是关于dom4j 解析生成xml 案例的主要内容,如果未能解决你的问题,请参考以下文章

4-8《XML与JSON》——XML解析XMLSAXDOM4JXStreamJSONGsonFastjson

Ajax发送XML请求案例

JavaSE XML解析技术的使用详解

javaweb学习总结十三(dom4j方式对XML文档进行解析)

dom4j解析和生成XML文档

dom4j解析xml,xml数据替换,生成新的xml