【问题标题】:How can I use XPath to return a node that contains one particular element with particular inner text?如何使用 XPath 返回包含具有特定内部文本的特定元素的节点?
【发布时间】:2016-02-07 02:16:11
【问题描述】:

假设我想找到只包含<u>***</u><p> 标签。用于此的 XPath 查询是什么?我以为我在//p[u["..."]] 中找到了答案,但这不起作用。如果我能做类似//p[text()="<u>***</u>"] 这样的事情,这会容易得多。

【问题讨论】:

    标签: xpath


    【解决方案1】:

    在您的情况下,<u> 标签是 <p> 的子标签,因此您可以使用:“/..”。此语法可以选择当前节点的父节点。你的 xpath 应该是:

    //p/u[text()="<yourtext>"]/..
    

    您应该参考 w3school 上的XPath Toturial 了解更多 XPath 语法。

    【讨论】:

    • 但这能保证选择只包含&lt;u&gt;***&lt;/u&gt;p标签吗?
    • 是的,我忘记了你的唯一。 //p/u[text()="&lt;yourtext&gt;"]/..[count(*)=1] 此语法查找包含 &lt;u&gt;***&lt;/u&gt;&lt;p&gt; 并且此 &lt;p&gt; 只有 1 个孩子。这意味着 &lt;p&gt; 标签只包含 &lt;u&gt;***&lt;/u&gt;
    猜你喜欢
    • 2014-10-02
    • 1970-01-01
    • 2011-07-06
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    • 2020-09-05
    相关资源
    最近更新 更多