DOM4J對於XML的用法

1、基本使用方式
    語法
    一、獲取根元素
Element root = document.getRootElement();
    二、獲取某個元素下的子元素
Element db_element = root.element("db");
    三、獲取元素的子元素集合1
List<Element> db_list = db_element.elements();//全部子元素
    四、獲取元素屬性的值
element.attributeValue("name");
    五、獲取元素的內容
element.getText();
    六、獲取元素的子元素集合2
element.elements("user");//指定名稱的子元素集合

實戰

<users>
  <user no="2017">
    <name>狗蛋</name>
    <age>17</age>
  </user>
  <user no="2018">
    <name>李狗蛋</name>
    <age>19</age>
  </user>
</users>

一、導入dom4j的jar包,遍歷node

public void test4j() throws DocumentException { //建立解析器
    SAXReader reader = new SAXReader(); org.dom4j.Document document = reader.read(new File("src/userInfo.xml")); org.dom4j.Element root = document.getRootElement(); List<org.dom4j.Element> list = root.elements(); for(org.dom4j.Element e:list){ //獲取屬性值
        String no = e.attributeValue("no"); String name = e.element("name").getText(); String age = e.element("age").getText(); System.out.println(no+name+age); } }

2、選擇器使用

    語法
一、獲取節點 集合:以下,獲取全部節點的name屬性的集合
List<Node> list= document.selectNodes("users/user/name");
二、獲取節點的節點名稱
node.getName();
三、獲取節點的值
node.getText();
四、獲取節點的屬性值
node.valuesOf("@no");

實戰

二、還需導入jaxen-1.1-beta-6.jar,進行xpath操做
public void testdom4j_xpath() throws DocumentException { SAXReader reader = new SAXReader(); org.dom4j.Document document = reader.read(new File("src/userInfo.xml")); List<Node> list= document.selectNodes("users/user/name"); for(Node node:list){ String qname = node.getName(); String name = node.getText(); System.out.println(qname+"--"+name); } List<org.dom4j.Node> list1 = document.selectNodes("users/user"); for(Node node:list1){ String no = node.valueOf("@no"); System.out.println(no); } }

 

3、建立,修改XML文檔
    語法
一、獲取document對象
Document document = DocumentHelper.createDocument();
二、建立根元素
 Element root = document.addElement("users"); 
三、添加子節點
Element e = element.addElement("name");
四、設置屬性
Element e = element.setText("張三");
五、刪除節點e的子節點element
e.remove(element);

4、屬性

     語法
    1.取得某節點下的某屬性          
Attribute attribute=element.attribute("id");
    2.取得屬性的文字
 String text=attribute.getText();
    3.刪除某屬性
Attribute attribute=root.attribute("size"); root.remove(attribute);
    4.遍歷某節點的全部屬性     
Element root=document.getRootElement(); for(Iterator it=root.attributeIterator();it.hasNext();){ Attribute attribute = (Attribute) it.next(); String text=attribute.getText(); System.out.println(text); }
    5.設置某節點的屬性和文字.  
newMemberElm.addAttribute("name", "sitinspring");
    6.設置屬性的文字   
Attribute attribute=root.attribute("name"); 
attribute.setText("csdn");
相關文章
相關標籤/搜索