我有一个来自Node theFinalNode
的{{1}}由Document
解析器解析,我有来自完全相同页面的另一个文档,它以不同方式解析,我想找到节点在使用sax2dom
的其他文档中,所以我尝试制作此代码:
Xpath
但似乎没有合适的构造函数用于我上面提到的方式。对此有什么解决方案吗?
private Node node;
Node theFinalNode;
............
Document document = builder.parse(someURL);
XPath xpath = XPathFactory.newInstance().newXPath();
node = xpath.evaluate(document,theFinalNode, XPathConstants.NODE);
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: javax.xml.xpath.XPath.evaluate
现在错误是:
i changed last line into:` node = (Node) xpath.evaluate("//" + theFinalNode.getNodeName(),document, XPathConstants.NODE);
答案 0 :(得分:0)
第一个参数必须是xpath表达式(String),第二个参数是上下文,最后一个是返回类型。
因此,您可以将xpath表达式作为第一个参数来检测您的节点(即"//" + theFinalNode.getNodeName()
),并将第二个参数作为您要搜索节点的文档。