l DOM4J解析XML文档

来源:互联网 发布:知春大厦兼职是真的吗 编辑:程序博客网 时间:2024/04/20 04:14

 

l   Dom4j是一个简单、灵活的开放源代码的库。Dom4j是由早期开发JDOM开发的。与JDOM不同的是,dom4j使用接口和抽象的人分离出来而后独立基类,虽然Dom4jAPI相对要复杂一些,但它提供了比JDOM更好的灵活性。

l   Dom4j是一个非常优秀的Java XML API,具有性能优异、功能强大和极易使用的特点。现在很多软件采用的Dom4j,例如Hibernate,包括sun公司自己的JAXM也用了Dom4j

l   使用Dom4j开发,需下载dom4j相应的jar文件。

l   DOM4j中,获得Document对象的方式有三种:

 

     1.读取XML文件,获得document对象            

                  SAXReader reader = newSAXReader();
             Document   document = reader.read(new File("input.xml"));

 

     2.解析XML形式的文本,得到document对象.

                 String text = "<members></members>";
             Document document = DocumentHelper.parseText(text);

 

     3.主动创建document对象.

                Document document = DocumentHelper.createDocument();
            //
创建根节点

 Element root=document.addElement("members");

 

v  .获取文档的根节点.

     Element root = document.getRootElement();

 

v  2.取得某个节点的子节点.

     Element element=node.element(“书名");

 

v  3.取得节点的文字

     String text=node.getText

v  4.取得某节点下所有名为“member”的子节点,并进行遍历.
 List nodes =rootElm.elements("member");
 
  for (Iterator it = nodes.iterator(); it.hasNext();){
     Element elm =(Element) it.next();
    // do something
 }

 

v  5.对某节点下的所有子节点进行遍历.
    for(Iteratorit=root.elementIterator();it.hasNext();){
       Elementelement = (Element) it.next();
       //do something
    }

 

v  6.在某节点下添加子节点.
Element ageElm = newMemberElm.addElement("age");

v  3.遍历某节点的所有属性
   Elementroot=document.getRootElement();    
   for(Iteratorit=root.attributeIterator();it.hasNext();){
         Attributeattribute = (Attribute) it.next();
         Stringtext=attribute.getText();
         System.out.println(text);
    }

 

v  4.设置某节点的属性和文字.
  newMemberElm.addAttribute("name", "sitinspring");

 

v  5.设置属性的文字
   Attributeattribute=root.attribute("name");
   attribute.setText

 

 

 

原创粉丝点击