Xpath 不使用';我不能生孩子
我试图使用XML从中访问某个元素,但我似乎无法获得它,我也不太明白为什么Xpath 不使用';我不能生孩子,xpath,xml-parsing,html-parsing,Xpath,Xml Parsing,Html Parsing,我试图使用XML从中访问某个元素,但我似乎无法获得它,我也不太明白为什么 <ul class="test1" id="content"> <li class="list"> <p>Insert random text here</p> <div class=&quo
<ul class="test1" id="content">
<li class="list">
<p>Insert random text here</p>
<div class="author">
</div>
</li>
<li class="list">
<p>I need this text here</p>
</li>
</ul>
如果您有任何可能的答案,谢谢 问题中发布的HTML代码片段显示两个
p
元素都不包含任何div
,因此表达式//p[not(.//div)]
将与这两个p
匹配。第一个p
元素是div
(两者共享相同的父元素li
)的兄弟,而不是父元素或祖先。以下XPath表达式将匹配第二个p
中的文本节点,而不是第一个中的文本节点:
//ul[contains(@id,"content")]/li[not(div)]/p/text()
简要说明:
:查找//ul[包含(@id,“content”)]
元素,其中ul
属性值包含文本“content”id
:从此类/li[not(div)]
中查找没有子元素ul
div的子元素
。这将只匹配示例HTML中的endli
li
:从这样的/p/text()
,找到子元素li
,然后从这样的p
返回子文本节点p
//ul[contains(@id,"content")]/li[not(div)]/p/text()