1

jOOX 可用于查找元素的 xPath,使用如下所示:

Element element = (Element) someNode;
String xPath = $(element).xpath();  

我可以对属性做同样的事情吗?我试过这个:

Attr attr = (Attr) someAttributeNode;
String xPath = $(attr).xpath();   

但它返回null。

编辑:我已经设法通过从节点的 xPath 和属性的名称创建我自己的 xPath 来解决它,但似乎我不应该这样做。这是完整的解决方法:

Element element = (Element) someNode;
String elementXpath = $(element).xpath();
String attributeName = someAttributeNode.getNodeName();
String attributeXpath = elementXpath + "/@" + attributeName;  // <-- work around
4

1 回答 1

1

在有人给我一个更好的答案之前,我将使用我自己的解决方法:

我已经设法通过从节点的 xPath 和属性的名称创建我自己的 xPath 来解决它,但似乎我不应该这样做。这是完整的解决方法:

Element element = (Element) someNode;
String elementXpath = $(element).xpath();
String attributeName = someAttributeNode.getNodeName();
String attributeXpath = elementXpath + "/@" + attributeName;  // <-- work around
于 2012-10-04T20:28:35.847 回答