【问题标题】:XPath data after closing tag结束标记后的 XPath 数据
【发布时间】:2016-12-11 06:03:31
【问题描述】:

我有这个 HTML: <span id="bla">text</span>more text

我想得到textmore text

我有这个 XPath: //span[@id="bla"]/text()

我不知道如何获取结束标签以及它后面的内容。

【问题讨论】:

    标签: php html xml xpath


    【解决方案1】:

    more text 称为元素的“尾部”,可以通过following-sibling 检索:

    //span[@id="bla"]/following-sibling::text()
    

    【讨论】:

    【解决方案2】:

    <span id="bla">text</span>more text 本身的格式不正确,无法通过 XPath 处理。

    让我们把它放在上下文中:

    <div><span id="bla">text</span>more text</div>
    

    然后,你可以简单地取父元素的字符串值,div

    string(/div)
    

    得到

    textmore text
    

    根据要求。


    如果有其他您想要的周边内容:

    <div>DO NOT WANT<span id="bla">text</span>more text<b/>DO NOT WANT</div>
    

    您可以按照@alecxe 的引导使用following-sibling:: 轴并使用concat() 组合您想要的部分:

    concat(//span[@id="bla"], //span[@id="bla"]/following-sibling::text()[1])
    

    再次获得

    textmore text
    

    根据要求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-01
      • 2016-10-15
      相关资源
      最近更新 更多