0
点赞
收藏
分享

微信扫一扫

Dom4j解析xml文档


Dom4j是一个简单,灵活的开放源代码库的工具

  Dom4j中,获得Document对象的三种方式:

     1,读取xml文件,或得document对象        

SAXReader reader=new SAXReader();
Document doc=reader.read("xml文档");

String text="<tag></tag>";
Document doc=DocumentHelper.parseText(text);

Document doc=DocumentHelper.createDocument();
Element root=document.addElement("tag");

 节点对象:

   1,获取文档的根节点

Element root=doc.getRootElement();

Element elment=node.element("节点名");

String text=node.getText();


List nodes=root.elements("书");
for(Iterator it=nodes.iterator();it.hasNext();)
Element e=(Element)it.next();


for(iterator it=root.elementIterator();it.hasNext();){
Element e=(Element)it.next();
}

Elment childE=newMemberElm.addElement("child");

element.setText("29");

父节点.remove(子节点);

节点对象属性

   1,获取某节点下的属性  

//Attribute接口继承Node  node下有(getName(),getText())
Element root=doc.getRootElement();
Attribute attr=root.attribute("属性名");

String text=attribute.getText();

Attribute attr=root.attribute("属性名");
root.remove(attr);

Element root doc.getRootElement();
for(Iterator it=root.attributeiterator();it.hasNext();){
Attribute attr=(Attribute)it.next();
String text=attr.getText();
}

newMemberElm.addAttribute("name","wsdf");

Attribute attr=root.attribute("name");
attr.setText("sdfag");

将文档写入XML文件

  1,文档中全为英文,不设置编码,直接写入的形式

XMLWriter writer=new XMLWriter(new FileWriter("xml文档"));
writer.write(doc);
writer.close();

OutputFormat format=OutputFormat.createPrettyPrint();
//指定XML编码
format.setEncoding("GBK");
XMLWriter writer=new XMLWriter(new FileOutputStream("xml文件路径").format);
writer.write(doc);
writer.close();

 Dom4j在指定位置插入节点

      1,得到插入位置的节点列表(list)

      2,调用list.add(index,element),由index决定element的插入位置

        Element 元素可以直接通过DocumentHelper对象得到

Element aa=DocumentHelper.createElement("aa");
aa.setText("sdfa");
List list=root.element("指定的节点").elements();
list.add(1,aa);

      //更新document



举报

相关推荐

0 条评论