gpt4 book ai didi

xml - 当节点前没有pcdata时,XPath选择第一个节点

转载 作者:行者123 更新时间:2023-12-03 16:24:58 26 4
gpt4 key购买 nike

我有这样的XML部分:


<p><bold>Some Text</bold> some more content and text...</p>


要么


<p>Some Text and something <bold>bold</bold> within and more content...</p>


我正在寻找一个XPath表达式,仅当元素<bold><p>中的第一个内容(如第一个示例)时才返回元素PCDATA,并且如果在标签之前出现p/bold[1]则不返回任何内容。

我可以使用 ,但这将返回两个选项的结果。

感谢您提出任何建议!

最佳答案

你可以用

//p/bold[1][not(preceding-sibling::node())]


对于所有 p元素,仅当第一个 bold元素没有前一个同级元素时-即在其之前没有PCDATA出现,才能找到它。

您还可以检查 p元素的第一个子节点,并检查它是否是 bold元素,如果有许多子节点,则其执行速度可能更快:

//p/node()[1][name() = 'bold']

关于xml - 当节点前没有pcdata时,XPath选择第一个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41805680/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com