gpt4 book ai didi

xml - XPath选择所有同级和子节点,直到下一个自封闭元素的下一次出现

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

<div type="chapter">
<head>Chapter I</head>
<milestone n="m_one" xml:id="ch1sc1" unit="scene"/>
<p>...</p>
<p>...</p>
<milestone n="m_two" xml:id="ch1sc2" unit="scene"/>
<p>...</p>
<p>...</p>
<milestone n="m_three" xml:id="ch1sc2" unit="scene"/>
</div>


是否可以使用XPath选择在这种情况下 <milestone />的第一个自封闭元素之间的所有节点,直到下一个 <milestone />元素的下一次出现。

换句话说,仅选择 <p>元素(或可能存在的任何其他元素)。

编辑:进一步澄清,我试图仅选择出现在例如第一个里程碑元素,直到但不包括 <milestone />元素的下一次出现

最佳答案

实际上,这样的任务将更适合嵌入XPath的语言(例如Java,PHP或XSLT)。为什么?因为您的XML数据(我怀疑是TEI)的排列方式使其难以操作,例如,因为div元素内没有嵌套。高级语言可以更好地检索结构不正确的数据(即您所需的数据)。

举个例子,在XSLT中,当出现xsl:for-each-group元素时,可以使用分组机制(milestone)开始新的分组。

在纯XPath中,以下方法可能有效(我现在无法对其进行测试):

//milestone[1]/following-sibling::p except //milestone[2]/following-sibling::p

关于xml - XPath选择所有同级和子节点,直到下一个自封闭元素的下一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25390106/

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