【问题标题】:XPath alternative for java 1.4java 1.4 的 XPath 替代方案
【发布时间】:2012-09-13 05:25:03
【问题描述】:

我有一个类的源代码,它是在 Java 1.6 上编写的,它使用 XPath 从 InputStream 获取 XML 并在 XML 文档中进行一些特定的更改。现在我必须使这个类与 Java 1.4 兼容。 Netbeans 突出显示 XPath 类“javax.xml.xpath.*”的导入行。在 Java 1.4 中,我可以使用 XPath 的哪些替代方法从 InputStream 中获取 NodeList?

【问题讨论】:

  • 看这里:[Parsing XML file using Xpath in jdk1.4][1] [1]:stackoverflow.com/questions/5094116/…
  • 如果可能的话,我需要使用内置库,没有任何外部类。
  • java.xml.xpath 仅从 1.5 开始实现......所以没有其他解决方案

标签: java xml xpath nodelist


【解决方案1】:

您的问题(包括您的评论)在术语上存在矛盾。 XPath 库没有内置到 JDK 1.4 中,它们是 @since 1.5,尽管在此之前它们在 Web 服务包 (JAX-WS?) 的 JAXP 部分中单独可用。

您必须从外部包中添加和使用 JAXP,或者直接使用 Apache Xalan,无论喜欢与否。

【讨论】:

  • 我不需要直接使用 XPath。我需要从 XML 获取 NodeList,而不是将一些节点复制到新的 Document,修改新 Document 中的一些节点并重命名修改后的节点,而不是返回新的 XML。现在我正在尝试使用 DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(inputSource) 而不是 xpath.evaluate(expression, inputSource, XPathConstants.NODESET)
  • 当你说“我不需要使用”时,你的意思是“我需要使用”还是“我不需要使用”?
  • @Leonid 您的评论与我的回答到底有什么关系?有什么需要澄清的吗?以及使用DocumentBuilder.parse() 是如何构成使用XPath 的?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-26
  • 2013-03-10
  • 2013-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多