gpt4 book ai didi

xml - XPATH:在节点之后选择文本

转载 作者:行者123 更新时间:2023-12-03 16:05:20 25 4
gpt4 key购买 nike

<div class="container-body">

<div class="rule"><hr></div>
<h3>Software version:</h3>
10.0.0

<div class="rule"><hr></div>
<h3>Operating system(s):</h3>
AIX, Linux, Windows

<div class="rule"><hr></div>
<h3>Reference #:</h3>
7042947

<div class="rule"><hr></div>
<h3>Modified date:</h3>
<p>2015-04-02</p>

</div>


给定以上代码段,我如何获取值10.0.0; AIX,Linx,Windows;和7042947,因为它们不在任何HTML标记内。

最佳答案

通常,答案是:“取决于”。如果只需要<div>中的非空白文本节点,则可以使用以下内容,但是它将选择<div>下的任何子节点,而该子节点是文本节点(而不是大子节点)。

div/text()[normalize-space()]


如果只希望显式地跟随 <div class="rule">...<h3>的文本节点,则可以指示XPath这样做:

div
/div[@class="rule"]
/following-sibling::*[1]
/self::h3
/following-sibling::text()[1]


意思是:


选择 <div>
选择具有属性 <div>的每个子 class="rule"
选择下面的第一个同级元素
如果它是 h3,则仅选择此以下同级元素
然后(如果所有先前成功的话)选择接下来的第一个文本节点


或者,如果要在整个文档中选择任何以 <h3>开头的非空白文本节点,则可以执行以下操作:

//text()[normalize-space()][preceding-sibling::*[1]/self::h3]


最后一个表达式专门设计为忽略任何注释节点或PI指令,并且仅在其前一个兄弟元素为 <h3>时才选择文本节点,否则它将忽略它。

希望上面的示例为您提供了足够的工具来构建XPath,但是如果您的需求不存在并且您无法解决,请问一下。

关于xml - XPATH:在节点之后选择文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33065349/

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