jsp操作xml


<?xml version="1.0" encoding="UTF-8"?>
<!-- 說明是xml文件,文件的版本和字符編碼 -->
<root version="2.0"><!-- 定義文檔的根元素並設置version屬性 -->
<book id="1"><!-- 定義文檔的元素,id 是屬性,屬性可以設置為任意詞-->
<name>水滸傳</name>
<price>12.6</price>
<miaoshu><![CDATA[''><$&#]]></miaoshu><!-- CDATA是xml解析器當作普通文本,所以任何符號都不會被當做標記字符 -->
</book>
</root>

Xml的實體引用
字符    實體引用
<    &lt;
‘    &apos;
>    &gt;
“    &quot;
&    &amp;

Dom4j操作xml文檔

創建xml文檔
        //創建xml文檔對象doc
        Document doc=DocumentHelper.createDocument();
        //使用DocumentFactory創建xml文檔對象
        //DocumentFactory factory=DocumentFactory.getInstance();
        //Document docc=factory.createDocument();
        //創建普通節點
        Element root=DocumentHelper.createElement("root");
        //將root普通節點設置為根節點
        doc.setRootElement(root);
        //給節點添加注釋
        root.addComment("根節點");
        //給節點添加屬性
        root.addAttribute("version", "2.0");
        //添加子節點,獲取子節點或添加子節點
        Element book=root.addElement("book");
        book.addAttribute("id","1");
        //添加節點內容
        book.setText("圖書");
        Element book2=root.addElement("book");
        book2.addAttribute("id", "1");
        //添加CDATA內容
        book2.addCDATA("圖書2");
        //設置輸出路徑
        String xmlpath="D:\\Users\\Administrator\\workspace\\HelloWorld\\WebContent\\WEB-INF\\two.xml";
        //設置輸出格式
        OutputFormat format=new OutputFormat();
        format.setEncoding("GBK");
        //無格式輸出文件
        //XMLWriter write=new XMLWriter(new FileWriter(xmlpath));
        //有格式輸出
        XMLWriter write=new XMLWriter(new FileWriter(xmlpath),format);
        write.write(doc);
        write.close();
        
讀取、修改、刪除節點xml文檔
        //讀取xml文檔
        String xmlpath="D:\\Users\\Administrator\\workspace\\HelloWorld\\WebContent\\WEB-INF\\two.xml";
        SAXReader read=new SAXReader();
        try {
            Document  doc=read.read(new File(xmlpath));
            //獲得根節點
            Element root=doc.getRootElement();
            //根據節點名獲取節點
            Element book=root.element("book");
            book.getText();
            //使用selectSingleNode方法查詢節點
            //使用/來表示節點的歸屬[@id='1']查詢book節點屬性id等於1的節點
            Element bookr=(Element) root.selectSingleNode("/root/book[@id='1']");
            System.out.println(bookr);
            System.out.println(book.getText());
            //selectNodes()方法獲取一組節點
            //List bookss=root.selectNodes("/root/book");
            //刪除id為1的book節點
           root.remove(bookr);
           //刪除所有book節點
           doc.getRootElement().elements("book").clear();
            //根據節點名獲取節點數組
            List books=root.elements("book");
            for(int i=0;i<books.size();i++){
                Element bookl=(Element)books.get(i);
                System.out.println(bookl.getText());
                
            }
            
        } catch (DocumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM