風之力

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            19 Posts :: 2 Stories :: 18 Comments :: 0 Trackbacks
          在JDK1.4中使用JAXP1.3
          由于JDK1.5以上已經自帶jaxp了,而jdk1.4以下版本需要自己添加jaxp庫文件。
          ?
          1。下載
          因為jwsdp-1.5中帶的jaxp是1.26版本,因此需要單獨重新下載jaxp
          https://jaxp.dev.java.net/files/documents/913/7831/JAXP_RI_20041025.class
          ?
          參考:
          https://jaxp.dev.java.net
          http://java.sun.com/xml/jaxp/index.jsp
          ?
          2.安裝:
          JAXP_RI_20041025.class所在的目錄下,進入命令行,
          運行:java -cp . JAXP_RI_20041025
          然后屏幕上列出所有解壓出來的文件名字。
          此時,在當前目錄下會有一個叫jaxp-1_3的目錄,里面有jaxp的jar文件和api文檔。
          ?
          3.jaxp需要用到的jar為(都在jaxp-1_3目錄下):
          dom.jar,jaxp-api.jar,sax.jar,xalan.jar,xercesImpl.jar
          ?
          4.接下來就可以根據自己需要來使用jaxp1.3了
          ?
          5.由于sun默認使用的解析器是經過其包裝后的(基于Xerces version 2.6.0 和 XSLTC version 2.5.2),比如:
          com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl(可查看javax.xml.parsers.SAXParserFactory 的源代碼),
          com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl(可查看javax.xml.transform.TransformerFactory 的源代碼).
          因此在需要使用其它解析器的時候,需要通過設置系統屬性值的方式,
          或者在$java.home/lib/jaxp.properties進行配置($java.home為System.getProperty("java.home")所得到的路徑,具體可以查看javax.xml.parsers.FactoryFinder源代碼中的 static Object find(String factoryId, String fallbackClassName) 方法)來選擇具體的解析器實現。
          jaxp.properties中支持以下屬性.
          ?
          示例文件如下(實際就是jaxp的默認值):
          javax.xml.transform.TransformerFactory=com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl
          javax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl javax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
          javax.xml.datatype.DatatypeFactory=com.sun.org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl
          ?
          假如需要使用apache的解析器,那么如下操作 。
          a.下載http://www.apache.org/dist/xml/xerces-j/Xerces-J-bin.2.6.2.zip
          http://www.eu.apache.org/dist/xml/xalan-j/binaries/xalan-j_2_6_0-bin.zip
          (均為當前最新版本)
          b.解壓獲得相應的jar文件,放入classpath中。
          3.配置jaxp.properties為:
          javax.xml.transform.TransformerFactory=org.apache.xalan.xsltc.trax.TransformerFactoryImpl
          #也可以使用
          #javax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl
          javax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl
          javax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl
          javax.xml.datatype.DatatypeFactory=org.apache.xerces.internal.jaxp.datatype.DatatypeFactoryImpl
          ?
          ?
          ?
          ?
          ?
          6.需要關于jaxp的調試信息,設置系統屬性jaxp.debug為1即可
          ?? System.setProperty("jaxp.debug","1");
          或者運行時的命令為: java -Djaxp.debug=1 com.lizongbo.TestJAXP
          ?
          ?
          ?
          幾篇非常好的資料:
          ?
          JAXP 專述 Sun 的 Java API for XML 語法分析
          JAXP 再述 Sun 的 Java API for XML Parsing,1.1 版
          http://www-128.ibm.com/developerworks/cn/xml/jaxp1/index.html
          ?
          JAXP 1.3 的新特性,第 1 部分
          技術綜述,考察解析 API 的變化和新的驗證 API
          http://www-128.ibm.com/developerworks/cn/xml/x-jaxp13a.html
          JAXP 1.3 的新特性,第 2 部分
          XPath 功能、支持名稱空間的工具和其他改進
          http://www-128.ibm.com/developerworks/cn/xml/x-jaxp13b.html
          JAXP 全面介紹,第 1 部分
          XML 處理工具包使解析和驗證變得更容易
          http://www-128.ibm.com/developerworks/cn/xml/x-jaxp/index.html
          ?
          Factory模式和Abstract?Factory模式
          http://www.netbei.com/Article/jsp/jsp6/200409/2771.html
          ?
          Java中關于XML的API一瞥
          http://www.matrix.org.cn/article/1073.html
          ?
          ?


          Trackback: http://tb.donews.net/TrackBack.aspx?PostId=418679

          posted on 2006-09-28 21:03 風之力 閱讀(1035) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 公安县| 普定县| 扶绥县| 青川县| 长海县| 平乐县| 阿图什市| 循化| 崇礼县| 昭平县| 南丰县| 宜宾市| 齐河县| 鲜城| 安新县| 会泽县| 七台河市| 孟村| 湘潭县| 安平县| 南昌市| 阿克苏市| 泰顺县| 荥经县| 嘉义市| 阿鲁科尔沁旗| 宜昌市| 汉川市| 延边| 遵化市| 陈巴尔虎旗| 尼玛县| 旺苍县| 娄底市| 莲花县| 苏尼特右旗| 桓仁| 建始县| 闸北区| 民丰县| 衡阳县|