XPath包含(text(),'some string')与具有多个Text子节点的节点一起使用时不起作用
我有一个小问题,Xpath包含dom4j ...
让我们说我的XML是
<Home> <Addr> <Street>ABC</Street> <Number>5</Number> <Comment>BLAH BLAH BLAH <br/><br/>ABC</Comment> </Addr></Home>
假设我想在给定根元素的文本中找到所有具有ABC的节点...
所以我需要写的xpath就是
//*[contains(text(),'ABC')]
然而,这不是Dom4j返回的......这是dom4j问题还是我理解xpath如何工作。因为该查询仅返回Street元素而不返回Comment元素。
DOM使Comment元素成为具有四个标记2的复合元素
[Text = 'XYZ'][BR][BR][Text = 'ABC']
我会假设查询应该仍然返回元素,因为它应该找到元素并运行包含但它不会......
以下查询返回元素,但它返回的远远多于元素,它还返回父元素...这对问题是不可取的...
//*[contains(text(),'ABC')]
是否有任何人知道XPath查询会只返回元素<Street/>
和<Comment/>
?
烙印99