<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;
      
     }

     

    }


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


    網站導航:
     
    主站蜘蛛池模板: 91禁漫免费进入| MM131亚洲国产美女久久| 亚洲国产第一页www| 美女视频黄免费亚洲| 18国产精品白浆在线观看免费| 亚洲午夜精品一区二区| 日韩午夜理论免费TV影院| 久久精品国产亚洲AV麻豆不卡| 最近免费中文字幕MV在线视频3| 久久久久国产成人精品亚洲午夜 | 亚洲色偷偷偷网站色偷一区| 91精品免费观看| 亚洲的天堂av无码| 色婷婷7777免费视频在线观看 | 亚洲日韩精品无码专区网站| 国产日韩在线视频免费播放| 亚洲AV无码国产丝袜在线观看| 午夜视频免费在线观看| 日本免费人成黄页网观看视频| 亚洲视频一区在线观看| 99无码人妻一区二区三区免费 | 亚洲春色在线观看| 午夜一级免费视频| 五月婷婷免费视频| 亚洲阿v天堂在线| 永久免费毛片在线播放| 国产精品亚洲а∨天堂2021| 中文字幕亚洲专区| 最近中文字幕免费mv在线视频| 亚洲日本VA午夜在线影院| 亚洲成a人片在线观看久| 秋霞人成在线观看免费视频 | 国产99久久久久久免费看| 免费永久国产在线视频| 本道天堂成在人线av无码免费| 亚洲视频精品在线| 又粗又硬免费毛片| 美女内射毛片在线看免费人动物| 亚洲AV无码男人的天堂| 国产又黄又爽又猛的免费视频播放| 中文字幕成人免费高清在线|