我是xpath的新手,希望能得到一些指导。我有以下XML:
<dd class="conten1">
<li class="">
<b> Some text here </b>
<b> another text here </b>
<span class="date-range">2014 – Present</span>
</li>
</dd>
我运行了以下xpath:
.//dd[contains(@class, 'conten1')]/li
然后它返回:
有些文字在这里另一篇文字2014年至今
如何删除“span”部分并仅获取
这里的一些文字是另一个文字
我跑了
substring-before(.//dd[contains(@class, 'conten1')]/li,'201')
但这并不理想,因为一些主菜不包含那个跨度部分因此根本不会被检索。
我想要抓住的只是“这里的一些文字另一个文字”部分。
非常希望得到一些帮助,并提前感谢你。
答案 0 :(得分:2)
如果只需要b
个节点,那么XPath可能看起来像
//dd[contains(@class, 'conten1')]/li/b
如果您需要除span
之外的所有节点,则XPath可能看起来像
//dd[contains(@class, 'conten1')]/li/*[name(.)!='span']