<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 55  文章 - 187  trackbacks - 0
    <2008年1月>
    303112345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(12)

    隨筆分類

    隨筆檔案

    groovy

    搜索

    •  

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    最近熟悉了一下Dom4,寫了一些小代碼,分為生成與解析。
    一、生成xml
    需要的jar包:dom4j、jaxen
    輸出的結(jié)果xml

    <?xml version="1.0" encoding="gb2312"?>

    <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      
    <!--Envelope Comment--><?target text?>

      
    <SOAP-ENV:Body>
        
    <m:InsertCP xmlns:m="http://tempuri.org/">Hello world!</m:InsertCP>
      
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>


    java代碼

     1package org.xmltool.test;
     2
     3import java.io.FileWriter;
     4import java.io.IOException;
     5
     6import org.dom4j.Document;
     7import org.dom4j.DocumentHelper;
     8import org.dom4j.Element;
     9import org.dom4j.Namespace;
    10import org.dom4j.QName;
    11import org.dom4j.io.OutputFormat;
    12import org.dom4j.io.XMLWriter;
    13
    14public class Test {
    15
    16    /**
    17     * @param args
    18     * @throws IOException
    19     */

    20    public static void main(String[] args) throws IOException {
    21
    22        /* 創(chuàng)建Document */
    23        Document doc = DocumentHelper.createDocument();
    24
    25        /* 創(chuàng)建備用Namespace */
    26        Namespace SOAP_ENV_ns = new Namespace("SOAP-ENV",
    27                "http://schemas.xmlsoap.org/soap/envelope/");
    28        Namespace SOAP_ENC_ns = new Namespace("SOAP-ENC",
    29                "http://schemas.xmlsoap.org/soap/encoding/");
    30        Namespace xsi_ns = new Namespace("xsi",
    31                "http://www.w3.org/2001/XMLSchema-instance");
    32        Namespace xsd_ns = new Namespace("xsd",
    33                "http://www.w3.org/2001/XMLSchema");
    34
    35        /* SOAP-ENV:Envelope */
    36        QName envelopeQName = new QName("Envelope", SOAP_ENV_ns);/* 構(gòu)造帶名字空間頭信息SOAP-ENV的節(jié)點(diǎn)Envelope */
    37        Element envelopeElement = doc.addElement(envelopeQName);
    38        envelopeElement.addComment("Envelope Comment");/* 添加注釋 */
    39        envelopeElement.addProcessingInstruction("target""text");/* 添加指令 */
    40        /* 添加其它名字空間(作為屬性) */
    41        envelopeElement.add(SOAP_ENC_ns);
    42        envelopeElement.add(xsi_ns);
    43        envelopeElement.add(xsd_ns);
    44
    45        /* SOAP-ENV:Body */
    46        QName bodyQName = new QName("Body", SOAP_ENV_ns);
    47        Element bodyElement = DocumentHelper.createElement(bodyQName);
    48        envelopeElement.add(bodyElement);
    49
    50        /* m:InsertCP */
    51        Namespace m_ns = new Namespace("m""http://tempuri.org/");
    52        QName insertCpQName = new QName("InsertCP", m_ns);
    53        Element InsertCpElement = DocumentHelper.createElement(insertCpQName);
    54        bodyElement.add(InsertCpElement);
    55
    56        OutputFormat format = OutputFormat.createPrettyPrint();/* 美化格式的輸出 */
    57        // OutputFormat format = OutputFormat.createCompactFormat();/*
    58        // 壓縮格式的輸出,節(jié)省空間 */
    59        format.setEncoding("gb2312");/* xml的編碼 */
    60        XMLWriter writer = new XMLWriter(new FileWriter("c:/test.xml"), format);
    61        writer.write(doc);
    62        writer.close();/* 必寫無(wú)疑 */
    63    }

    64}

    65


    二、解析xml
    采用了Visitor模式。通過(guò)遍歷XML的各個(gè)節(jié)點(diǎn),完成XML解析。

     1package org.xmltool.bean;
     2
     3import org.dom4j.Document;
     4import org.dom4j.DocumentException;
     5import org.dom4j.Element;
     6import org.dom4j.VisitorSupport;
     7import org.dom4j.io.SAXReader;
     8
     9public class MyVisitor extends VisitorSupport {
    10    @Override
    11    public void visit(Element node) {
    12        System.out.println(node.getPath());
    13        if ("InsertCP".equals(node.getName())) {
    14            System.out.println(node.getText());
    15        }

    16    }

    17
    18    public static void main(String[] args) throws DocumentException {
    19        SAXReader reader = new SAXReader();
    20        Document doc = reader.read("c:/test.xml");
    21        doc.accept(new MyVisitor());
    22    }

    23}

    24

    執(zhí)行結(jié)果為:

    /SOAP-ENV:Envelope
    /SOAP-ENV:Envelope/SOAP-ENV:Body
    /SOAP-ENV:Envelope/SOAP-ENV:Body/m:InsertCP
    Hello world!


    --------------------

        WE準(zhǔn)高手

    posted on 2008-01-16 11:54 大衛(wèi) 閱讀(3344) 評(píng)論(2)  編輯  收藏 所屬分類: Java

    FeedBack:
    # re: Dom4J的demo 2008-01-16 12:27 久城
    LZ第一篇.......支持下.......  回復(fù)  更多評(píng)論
      
    # re: Dom4J的demo 2008-01-16 17:41 Kevin Jiang
    路過(guò)看到,頂一下^_^  回復(fù)  更多評(píng)論
      
    主站蜘蛛池模板: a级毛片高清免费视频| 亚洲人成激情在线播放| 亚洲国产精品狼友中文久久久| 午夜精品在线免费观看| 97无码免费人妻超级碰碰碰碰 | 亚洲AV无码一区二区乱孑伦AS| 国产成人亚洲精品狼色在线 | 无码精品A∨在线观看免费| 91成人在线免费视频| 亚洲啪啪免费视频| 黄页网站在线观看免费高清| 精品久久久久成人码免费动漫| 嫩草视频在线免费观看| 国产又粗又猛又爽又黄的免费视频| 国产成人免费A在线视频| 亚洲AV永久无码精品一区二区国产 | 一级毛片正片免费视频手机看| jizz在线免费播放| A片在线免费观看| 一区二区三区四区免费视频| 免费观看美女用震蛋喷水的视频 | 99热在线观看免费| 免费毛片a在线观看67194| 最近中文字幕mv手机免费高清 | 6080午夜一级毛片免费看6080夜福利| 日本片免费观看一区二区| 野花高清在线观看免费3中文| 免费无码黄动漫在线观看| 亚洲AV蜜桃永久无码精品| 亚洲AV无码专区在线亚| 亚洲国产成人精品无码区花野真一| 男女猛烈xx00免费视频试看| 岛国精品一区免费视频在线观看 | 国产免费人成视频在线播放播| 国产在线一区二区综合免费视频| 在线成人爽a毛片免费软件| 猫咪社区免费资源在线观看 | 久久久久国色AV免费观看性色| 亚洲成av人片在线观看天堂无码| 亚洲精品国产精品乱码在线观看| 亚洲性一级理论片在线观看|