我正在使用Java 1.6。给定一个org.w3c.dom.Node
对象,如何获取String XPath表达式来表示该节点落入XML文档中的位置?这个节点或它的任何祖先/后代都不具有id
属性。Java:如何为org.w3c.dom.Node获取xpath?
1
A
回答
1
我不相信通过DOM有任何简单的方法。问题在于,没有一种标准的方法来识别给定的节点。
说了这么多,你可能会从diffxml有用的发现功能getXPath:http://diffxml.cvs.sourceforge.net/viewvc/diffxml/diffxml/src/java/org/diffxml/diffxml/fmes/NodeOps.java?view=markup
它将返回表格/节点(的一个XPath)[4] /节点()[2]等
更新:由于diffxml是GPL许可和getXPath需要一点提取,我发布它作为github上的XPathGen:https://github.com/amouat/XPathGen在Apache许可证下。
0
您可以您的节点和一个空字符串传递给递归方法比如这个:
static void xpm(Node node, String xpath){
if (node.getParentNode()==null){
System.out.println(xpath);
return;
}
xpath = "/"+node.getNodeName()+xpath;
node = node.getParentNode();
xpm(node, xpath);
}
相关问题
- 1. 如何从java中的org.w3c.dom.Node获取html?
- 2. 如何在java的org.w3c.dom.Node中获取TEXT_NODE的标记名
- 3. 获取行数和列数从org.w3c.dom.Node中
- 4. 如何使用xpath表达式更改org.w3c.dom.Node的一部分?
- 5. 如何使用xpath获取使用xpath
- 6. 如何将`org.w3c.dom.Node`转换为`org.w3c.dom.Comment`
- 7. 如何从XPATH获取URL?
- 8. 如何从XML获取XPath?
- 9. 将org.w3c.dom.Node转换为文档
- 10. java Xpath无法获取属性值
- 11. 在Java中使用xPath获取节点
- 12. 获取使用XPath和硒对Java
- 13. 如何使用XPath在java中获取BPMN节点的属性?
- 14. 如何使用XSLT获取XPath节点
- 15. Robot Framework:如何获取元素的xpath?
- 16. 如何使用Firepath插件获取xpath
- 17. 如何获取此元素的xpath
- 18. 如何使用XPath获取单行值?
- 19. 如何使用xpath获取元素?
- 20. 如何使用Javascript获取相对Xpath
- 21. 如何获取子菜单的Xpath?
- 22. PHP XPath:如何获取元素内容?
- 23. 如何获取这些值使用XPath
- 24. 如何获取XPATH属性数量
- 25. 如何从xpath获取绝对网址?
- 26. 如何从XSD获取所有xpath?
- 27. 如何使用XPath获取多个值?
- 28. 如何从html页面获取xPath(WebView)
- 29. 如何使用xpath获取文本
- 30. 如何获取无效html的xpath?
这已经回答了很多次对JavaScript的SO。您可能会看到其中一些答案。像这样一个:http://stackoverflow.com/questions/2661818/javascript-get-xpath-of-a-node –