Java Web學習(四)

  1. xmlnode

    xml是可擴展標記語言的縮寫,用於提供數據描述格式,適用於不一樣應用程序之間的數據交換。dom

    xml由序言(聲明,處理指令,註釋)和文檔元素組成。編碼

    <![CDATA[  ]]>內放置的文本都會被當作普通文本。url

  2. dom4j主要用於操做xml文檔,如建立和解析xml文檔。.net

    jar包:dom4j-1.6.1.jar和依賴包jaxen-1.1-beta-6.jarorm

  3. 建立xml文檔xml

    1)建立xml文件對象對象

    方法一:Document doc =DocmentHelper。createDocment();ip

    方法二:DocumentFactory favtory = DocumentFactory.getInstance();element

                Document doc = factory.createDocment();

    2)建立根節點:首先須要建立一個普通節點,而後調用Document的setRootElement()方法

    Element placard = DocumentHelper。createElement(」placard「);

    doc.setRootElement(placard);

    3)添加註釋

    placard.addElement(」註釋「);

    4)添加屬性

    placard.addAttribute(」version「,」2.0「);

    5)建立子節點

    Element description = placard。addElement(」description「);

    6)設置節點的內容

    方法一:description。setText(」text「)

    方法二:description.addCDATA(」content「);

    7)設置編碼

    OutputFormat format = new OutputFormat();

    format.setEncoding("GBK");

    8)設置輸出格式

    OutputFormat format = OutputFormat.createPrettyPrint();

    9)輸出xml文檔

    String url = request.getRealPath("/xml/placard.xml");

    XMLWriter writer = new XMLWriter(new FileWriter(url));

    writer.write(doc);

    writer.close();

    若要輸出到控制檯:

    String url = request.getRealPath("/xml/placard.xml");

    XMLWriter writer = new XMLWriter(System.out,format);

    writer.write(doc);

  4. 解析xml文檔

    1)構建xml文檔對象

    String url = request.getRealPath("/xml/placard.xml");

    SAXReader reader = new SAXReader();

    Document doc = reader.read(new File(url));

    2)獲取根節點

    Element placard = doc.getRootElement();

    3)獲取子節點

    方法一:Element description= placard.element(」description「);

    方法二:elements(」name「)獲得List對象。

  5. 修改xml文檔

    1)修改節點

    在修改xml節點前,首先要查詢到該節點。

    方法一:selectSingleNode(String xpathExpression)方法。xpath表達式用反斜槓/隔開節點樹中的父子節點,從而構成表明節點位置的路徑。若以/開頭,則表明使用絕對路徑,不然表示使用相對路徑,若是使用屬性則必須在屬性名前加上@符號

            /placard/info[@id='1'] 

    Node item = placard.selectSingleNode("/placard/info[@id='1']");

    方法二:List nodes = placard.selectNodes("/placard/info");

    2)刪除節點  placard.remove(item);

    3) 清除節點   doc.getRootElment().elements("info").clear();

相關文章
相關標籤/搜索