風之力

          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
          主站蜘蛛池模板: 甘孜县| 庐江县| 安阳市| 万源市| 天镇县| 郸城县| 吉首市| 乐山市| 永德县| 临泽县| 思茅市| 石林| 宜川县| 清镇市| 牡丹江市| 郴州市| 东台市| 昌吉市| 淮滨县| 宁晋县| 百色市| 吉林省| 阜南县| 五华县| 拉萨市| 中宁县| 吴桥县| 井冈山市| 锦屏县| 泾川县| 尼勒克县| 江源县| 凌海市| 太谷县| 吴旗县| 黎平县| 井研县| 杭州市| 玉屏| 象州县| 镇江市|