DOM4j解析xml文档
创建解析器:
SAXReader reader = new SAXReader();
利用解析器读入xml文档:
Document document = reader.read(new File("input.xml"));
获取文档的根节点:
Element root = document.getRootElement();
常用的操作节点的方法:
(1)取得某个节点的子节点.
Element element =ele.element(“书名");
List elementList =ele.elements(“书名");
List elementList =ele.elements();
(2)获取节点的名字
node.getName();
(3)设置节点的名字
node.setName(String newName);
(4)取得节点的文字(标签体)
String text=node.getText()
(5)设置节点的文字(标签体)
node.setText("aaa");
(6)添加子节点.
ele.add(Element e);
ele.addElement("age");
(7)删除子节点节点.
parentElm.remove(childElm);
(8)获取节点类型
node.getNodeType() ;
(9)获取父节点
node.getParent();
(10)取得某节点对象的某属性
Attribute attr= ele.attribute("aaa");
Attribute attr= ele.attribute(0);
List list = ele.attributes();
String value = ele.attributeValue("aaa");
Iterator it = ele.attributeIterator();
(11)设置某节点的属性
ele.add(Attribute attr);
ele.addAttribute(name, value);
ele.setAttributes(List attrs);
(12)删除某属性
ele.remove(attribute);
(13)在指定位置插入节点
a)得到插入位置的节点列表(list)
b)调用list.add(index,elemnent),由index决定element的插入位置。
Element元素可以通过DocumentHelper对象得到。示例代码:
Element aaa = DocumentHelper.createElement("aaa");
aaa.setText("aaa");
List list = root.element("书").elements();
list.add(1, aaa);
(14)取得属性的名、值
String name = attribute.getName();
String value = attribute.getValue();
(15)设置某属性的名、值
attribute.setName();
attribute.setValue();
DOM4j将字符串和XML的转换
1.将字符串转化为XML
String text = "<members> <member>sitinspring</member></members>";
Document document = DocumentHelper.parseText(text);
2.将文档或节点的XML转化为字符串.
String xmlStr = node.asXML();