我试图从以下标记中检索类别层次结构:
<ul class="categories">
<li>My top level category
<ul>
<li>my second level category</li>
</ul>
</li>
</ul>
我想使用以下xpath获取顶级类别的名称:
//ul[@class='categories']/li/text()
但这显然会返回该li的所有文本,包括第二级别类别。
如何使用xpath检索顶级类别。您可以假设类别只有两个级别(顶级和第二级别)。
答案 0 :(得分:0)
但这显然会返回该li的所有文本,包括第二级别类别。
实际上,不,//ul[@class='categories']/li/text()
只会返回匹配的//ul[@class='categories']/li
元素的 直接子文本节点 。在这种情况下:My top level category
。
如果您指定了以下任一XPath,那么您还选择了my second level category
:
//ul[@class='categories']/li//text()
string(//ul[@class='categories']/li)