dom4j解析xml操作总结

来源:互联网 发布:西北大学软件学院 编辑:程序博客网 时间:2024/04/29 01:04

最近需要用dom4操作xml文件,解析入库并逆向生成xml文件。

1解析xml

1.1引入dom4j包。

import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

1.2xml文件或是xml格式数据

dom4j可以解析xml文件或是xml格式的数据,文件的话

File xmlFIle = new FIle("文件路径");

SAXReader reader = new SAXReader();

Document document = reader.read(this.xmlFile);

xml格式的数据流:

String xmlStr;

document = reader.read(new ByteArrayInputStream(this.xmlStr.getBytes("UTF-8")));

1.3得到根节点

Element root = document.getRootElement();

1.4得到节点属性

String id = root.attributeValue("id");

1.5得到节点子节点(root节点可替换)

List<Element> lists = root.elements();

注意:e.elements()的返回值不为null,

if (temp.elements() != null && temp.elements().size() != 0)作为不为空的判断条件

1.6得到节点的名称

Element e = list.get(i);

e.getName();

1.7得到节点的内容

<ele>***</ele>

得到***需要用temp.element("ele").getText();


2生成xml

2.1引入包

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;

其中DocumentHelper提供一系列静态方法。

2.2生成xml文档对象

Document document = DocumentHelper.createDocument();

2.3生成element

Element e = DocumentHelper.createElement("节点名字");

2.4设置跟节点

document.setRootElement(root);

2.5生成其他节点并加入到root

Element e = DocumentHelper.createElement("名字");

e.addAttribute("id",“id1”);

可以对e进行多级增加子节点,当前节点add()方法即可。

root.add(e);

2.6生成xml文件或是xml格式

String str  = document.asXML();(生成xml格式待补充)

原创粉丝点击