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

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

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

    byterat

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      54 隨筆 :: 0 文章 :: 15 評論 :: 0 Trackbacks

    package com.sunrise.ocs.webservice.unicom.test;

    import java.io.File;
    import java.io.StringWriter;
    import java.util.HashMap;
    import java.util.Iterator;

    import javax.xml.parsers.DocumentBuilderFactory;

    import org.apache.log4j.Logger;
    import org.dom4j.Document;
    import org.dom4j.DocumentHelper;
    import org.dom4j.Element;
    import org.dom4j.XPath;
    import org.dom4j.io.SAXReader;

    import com.sun.org.apache.xml.internal.serialize.OutputFormat;
    import com.sun.org.apache.xml.internal.serialize.XMLSerializer;

    public class TestDom4j {
     private static final Logger log = Logger.getLogger(TestDom4j.class);

     private static long bt;

     public static void main(String[] args) {
      String strXml = "";
      int b = 0;
      String file1 = "xml/CreateUserRequest.xml";
      String file2 = "xml/CancelUserRequest.xml";
      if(b==0){
       bt = System.currentTimeMillis();
       strXml = xmlFile2String(file1);
       if (log.isDebugEnabled()) {
        log.debug("\nxmlFile2String() use time: "
          + (System.currentTimeMillis() - bt) + " millis\n");
       }
      }else{
       bt = System.currentTimeMillis();
       strXml = xmlFile2String2(file1);
       if (log.isDebugEnabled()) {
        log.debug("\nxmlFile2String2() use time: "
          + (System.currentTimeMillis() - bt) + " millis\n");
       }
      }

      if(b==0){
       bt = System.currentTimeMillis();
       findElement4XPath1(strXml);
       if (log.isDebugEnabled()) {
        log.debug("\nfindElement4XPath1() use time: "
          + (System.currentTimeMillis() - bt) + " millis\n");
       }
      }else{
       bt = System.currentTimeMillis();
       findElement4XPath2(strXml);
       if (log.isDebugEnabled()) {
        log.debug("\nfindElement4XPath2() use time: "
          + (System.currentTimeMillis() - bt) + " millis\n");
       } 
       
      }
     }

     public static void findElement4XPath1(String xml) {
      try {
       String str = delNamespace4Pattern(xml);
       Document doc = DocumentHelper.parseText(str);
       Element e = (Element) doc.selectSingleNode("http://CreateUserRequest/RequestMessage/MessageHeader");
       if (e != null) {
        Iterator iter = e.elementIterator();
        while (iter.hasNext()) {
         Element sub = (Element) iter.next();
         log.debug("\n" + sub.getText() + "\n");
        }
       }
       
       /* 讀取屬性的例子
       List childNodes = doc.selectNodes("http://Config/Child/ChildNode");
             for(Object obj:childNodes) {
                 Node childNode = (Node)obj;
                 String name = childNode.valueOf("@name"); //讀取屬性
                 String text = childNode.getText();
             }
             */

       
      } catch (Exception e) {
       e.printStackTrace();
      }
     }
     public static void findElement4XPath2(String xml) {
      try {
       Document doc = DocumentHelper.parseText(xml);
       Element root = doc.getRootElement();
       
       HashMap map = new HashMap();
       map.put("tns", "   XPath x = doc.createXPath("http://tns:CreateUserRequest/tns:RequestMessage/tns:MessageHeader");
       x.setNamespaceURIs(map);
       
       Element e = (Element) x.selectSingleNode(doc);
       if (e != null) {
        Iterator iter = e.elementIterator();
        while (iter.hasNext()) {
         Element sub = (Element) iter.next();
         if (log.isDebugEnabled()) {
          log.debug("\n" + sub.getText() + "\n");
         }
        }
       }
      } catch (Exception e) {
       e.printStackTrace();
      }
     }

     public static Document xml2Document(String xml) {
      try {
       return DocumentHelper.parseText(xml);
      } catch (Exception e) {
       e.printStackTrace();
      }
      return null;
     }

     public static String xmlFile2String(String xmlFile) {
      try {
       return new SAXReader().read(new File(xmlFile)).asXML();
      } catch (Exception e) {
       e.printStackTrace();
      }
      return null;
     }
     
     //讀取xml文件為xml串
     public static String xmlFile2String2(String xmlFile) {
      try {
       org.w3c.dom.Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(xmlFile); 
       OutputFormat format = new OutputFormat(document);
       //format.setEncoding("UTF-8");
       StringWriter stringOut = new StringWriter();
       XMLSerializer serial = new XMLSerializer(stringOut, format);
       serial.asDOMSerializer();
       serial.serialize(document.getDocumentElement());
       return stringOut.toString();
      } catch (Exception e) {
       e.printStackTrace();
      }
      return "";
     }
     
     
     public static String delNamespace4Pattern(String xml){
      String result = "";
      try {
       result = xml.replaceFirst("xmlns([^ ]*)=([^ ]*)http([^>^\"]*)\"", "");
      } catch (Exception e) {
       e.printStackTrace();
      }
      return result;
      
     }

     

    }


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久久精品国产亚洲av四虎| 亚洲国产熟亚洲女视频| 久久久久亚洲av无码尤物| 亚洲综合色区中文字幕| 成人A毛片免费观看网站| 99热在线精品免费全部my| 亚洲精品无码永久在线观看| 亚洲精品视频在线免费| 国产激情久久久久影院老熟女免费| 97免费人妻无码视频| 亚洲国产无套无码av电影| 国产精品亚洲二区在线| 国产精品视频免费| 久久精品亚洲AV久久久无码| 4hu四虎免费影院www| 国产亚洲精品激情都市| 国产尤物在线视精品在亚洲| 国产v片免费播放| 亚洲中文无码永久免费| 亚洲一区二区三区免费观看| 亚洲女初尝黑人巨高清| 免费无码午夜福利片69| 成人男女网18免费视频| 久久精品国产亚洲AV嫖农村妇女| 一级特黄a大片免费| 国产一区二区三区无码免费| 一级毛片免费播放男男| 国产成人精品日本亚洲| 东北美女野外bbwbbw免费| 久久久久久a亚洲欧洲AV| 国产精品久久久久久久久久免费| 亚洲国产综合人成综合网站00| 在线成人精品国产区免费| 国产AV无码专区亚洲AWWW| 色婷婷综合缴情综免费观看| 免费一级做a爰片久久毛片潮喷| 亚洲一区二区三区写真| 亚洲美女在线国产| 久久国产免费福利永久| 日本亚洲中午字幕乱码| 亚洲成a人在线看天堂无码|