【问题标题】:What will be the Xpath of this XML for PHP Dom Document use?供 PHP Dom 文档使用的 XML 的 Xpath 是什么?
【发布时间】:2018-02-19 15:43:25
【问题描述】:

我有一个 XML 格式,

<tbody>
    <tr>
        <td>A</td>
        <tr>
            <td>B</td>
            <tr>
                <td>C</td>
            </tr>
            <td>D</td>
        </tr>
    </tr>
</tbody>

这里我必须考虑 B 和 D 是 A 的子节点,C 是 B 的子节点。但是 C 和 D 没有子节点。

我想检索层次结构中没有更多子节点&lt;td&gt;C&lt;/td&gt; and &lt;td&gt;D&lt;/td&gt;etc 的最后一个节点,它位于&lt;tr&gt; 内,然后将'td' 的值替换为'th'。我正在使用这个 Xpath 查询"//*[not(child::*)]",但它也检索所有叶节点,如 A 和 B。那么使用 Xpath 查询的最佳方法是什么,以便我轻松获得呢?提前致谢。

编辑:标记 tr 和 td 仅用于表示目的,未在原始代码中使用。

【问题讨论】:

  • 您不能将&lt;tr&gt; 标签相互嵌套,这可能无法帮助 DOMDocument 完成其工作。

标签: php xml dom xpath


【解决方案1】:

您似乎想要获取所有没有以下兄弟的叶节点:

//*[not(child::*) and not(following-sibling::*)]

【讨论】:

    猜你喜欢
    • 2011-12-21
    • 1970-01-01
    • 1970-01-01
    • 2011-04-05
    • 1970-01-01
    • 2012-01-08
    • 1970-01-01
    • 2012-11-02
    • 1970-01-01
    相关资源
    最近更新 更多