中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

DOM4J生成、解析XML示例代碼

2018-07-20    來源:open-open

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用
import java.io.File;  
import java.io.FileWriter;  
import java.io.IOException;  
import java.util.Iterator;  
   
import org.dom4j.Attribute;  
import org.dom4j.Document;  
import org.dom4j.DocumentException;  
import org.dom4j.DocumentHelper;  
import org.dom4j.Element;  
import org.dom4j.io.SAXReader;  
import org.dom4j.io.XMLWriter;  
   
/** 
 * 
 * dom4j生成與解析XML文檔 
 * 
*/  
public classDom4jDemo {  
   
    /** 
     * 利用dom4j進(jìn)行xml文檔的寫入操作 
     */  
    public void createXml(File file) {  
   
        // XML 聲明 <?xmlversion="1.0" encoding="UTF-8"?> 自動添加到 XML文檔中  
   
        // 使用DocumentHelper類創(chuàng)建文檔實(shí)例(生成 XML文檔節(jié)點(diǎn)的 dom4jAPI工廠類)  
        Document document =DocumentHelper.createDocument();  
   
        // 使用addElement()方法創(chuàng)建根元素employees(用于向 XML 文檔中增加元素)  
        Element root =document.addElement("employees");  
   
        // 在根元素中使用 addComment()方法添加注釋"AnXML Note"  
        root.addComment("An XMLNote");  
   
        // 在根元素中使用addProcessingInstruction()方法增加一個(gè)處理指令  
        root.addProcessingInstruction("target","text");  
   
        // 在根元素中使用 addElement()方法增加employee元素。  
        Element empElem =root.addElement("employee");  
   
        // 使用 addAttribute()方法向employee元素添加id和name屬性  
        empElem.addAttribute("id","0001");  
        empElem.addAttribute("name","wanglp");  
   
        // 向employee元素中添加sex元素  
        Element sexElem =empElem.addElement("sex");  
        // 使用setText()方法設(shè)置sex元素的文本  
        sexElem.setText("m");  
   
        // 在employee元素中增加age元素 并設(shè)置該元素的文本。  
        Element ageElem =empElem.addElement("age");  
        ageElem.setText("25");  
   
        // 在根元素中使用 addElement()方法增加employee元素。  
        Element emp2Elem =root.addElement("employee");  
   
        // 使用 addAttribute()方法向employee元素添加id和name屬性  
        emp2Elem.addAttribute("id","0002");  
        emp2Elem.addAttribute("name","fox");  
   
        // 向employee元素中添加sex元素  
        Element sex2Elem =emp2Elem.addElement("sex");  
        // 使用setText()方法設(shè)置sex元素的文本  
        sex2Elem.setText("f");  
   
        // 在employee元素中增加age元素 并設(shè)置該元素的文本。  
        Element age2Elem =emp2Elem.addElement("age");  
        age2Elem.setText("24");  
   
        // 可以使用 addDocType()方法添加文檔類型說明。  
        //document.addDocType("employees", null,"file://E:/Dtds/dom4j.dtd");  
        // 這樣就向 XML 文檔中增加文檔類型說明:  
        // <!DOCTYPE employees SYSTEM"file://E:/Dtds/dom4j.dtd">  
        // 如果文檔要使用文檔類型定義(DTD)文檔驗(yàn)證則必須有Doctype。  
   
        try {  
            XMLWriter output = newXMLWriter(new FileWriter(file));  
            output.write(document);  
            output.close();  
        } catch (IOException e) {  
            System.out.println(e.getMessage());  
        }  
    }  
   
    /** 
     * 利用dom4j進(jìn)行xml文檔的讀取操作 
     */  
    public void parserXml(File file) {  
   
        Document document = null;  
   
        // 使用 SAXReader 解析 XML 文檔catalog.xml:  
        SAXReader saxReader = new SAXReader();  
   
        try {  
            document = saxReader.read(file);  
        } catch (DocumentException e) {  
            e.printStackTrace();  
        }  
        // 將字符串轉(zhuǎn)為XML  
        // document = DocumentHelper.parseText(fileString);  
   
        // 獲取根節(jié)點(diǎn)  
        Element root =document.getRootElement();  
        // 打印節(jié)點(diǎn)名稱  
        System.out.println("<" +root.getName() + ">");  
   
        // 獲取根節(jié)點(diǎn)下的子節(jié)點(diǎn)遍歷  
        Iterator<?> iter =root.elementIterator("employee");  
        // 遍歷employee節(jié)點(diǎn)  
        while (iter.hasNext()) {  
            // 獲取當(dāng)前子節(jié)點(diǎn)  
            Element empEle = (Element)iter.next();  
            System.out.println("<"+ empEle.getName() + ">");  
   
            // 獲取當(dāng)前子節(jié)點(diǎn)的屬性遍歷  
            Iterator<?> attrList = empEle.attributeIterator();  
            while (attrList.hasNext()) {  
                Attribute attr = (Attribute)attrList.next();  
               System.out.println(attr.getName() + "=" + attr.getValue());  
            }  
   
            // 遍歷employee節(jié)點(diǎn)下所有子節(jié)點(diǎn)  
            Iterator<?> eleIte =empEle.elementIterator();  
            while (eleIte.hasNext()) {  
                Element ele = (Element)eleIte.next();  
               System.out.println("<" + ele.getName() + ">" +ele.getTextTrim());  
            }  
   
            // 獲取employee節(jié)點(diǎn)下的子節(jié)點(diǎn)sex值  
            // String sex =empEle.elementTextTrim("sex");  
            //System.out.println("sex:" + sex);  
   
        }  
        System.out.println("</" +root.getName() + ">");  
    }  

public static void main(String[] args) {  
   
        Dom4jDemo dom4j = new Dom4jDemo();  
        File file = newFile("e:/dom4j.xml");  
        // dom4j.createXml(file);  
   
        dom4j.parserXml(file);  
   
    }  
}  

標(biāo)簽: ssd

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:通過curl登錄訪問的PHP代碼

下一篇:php文件上傳類