2012-09-13 136 views
0

我有一個類的源代碼,它已寫在Java 1.6上,並使用XPath從InputStream獲取XML,並在XML文檔中做出一些特定的更改。現在我必須讓這個類與Java 1.4兼容。 Netbeans突出顯示XPath類「javax.xml.xpath。*」的導入行。在Java 1.4中,我可以使用XPath的哪些替代方法從InputStream獲取NodeList?用於java 1.4的XPath替代方案

+0

到這裏看看: [解析JDK1.4中使用XPath XML文件] [1] [1]:http://stackoverflow.com/questions/5094116/parsing- xml-file-using-xpath-in-jdk1-4 – sfat

+0

如果可能的話,我需要使用內置庫,而不需要任何外部類。 – Leonid

+0

java.xml.xpath自1.5開始實施...所以沒有其他解決方案 – sfat

回答

1

包括你的評論在內的你的問題包含了矛盾。 XPath庫沒有內置到JDK 1.4中,它們是@since 1.5,儘管它們在Web服務包(JAX-WS?)的JAXP部分中單獨提供了一段時間。

您將不得不從外部包中添加或使用JAXP,或者直接使用Apache Xalan。

+0

我不需要直接使用XPath。我需要從XML中獲取NodeList,而不是將某些節點複製到新的Document,修改新Document中的某些節點並重命名修改後的節點,而不是返回新的XML。 現在我正在嘗試使用 DocumentBuilderFactory.newInstance()。newDocumentBuilder()。parse(inputSource) instead xpath.evaluate(expression,inputSource,XPathConstants.NODESET) – Leonid

+0

當你說「我不需要使用」時,你的意思是「我需要使用」或「我不需要使用」? –

+0

@Leonid你的評論與我的回答有什麼關係?有什麼需要澄清的嗎?那麼如何使用DocumentBuilder.parse()構成XPath呢? – EJP