最佳答案
我有一个小问题,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,但它没有……
下面的查询返回元素,但它返回的不仅仅是元素——它还返回父元素,这对问题来说是不可取的。
//*[contains(text(),'ABC')]
有人知道只返回元素<Street/>
和<Comment/>
的XPath查询吗?