gpt4 book ai didi

xml - XPath - 从具有最高节点值的父节点中提取值

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

这是我的 XML 片段

    <FinancialSummary>
<SummaryDate format="YYYYMMDD">20111231</SummaryDate>
<Revenue currency="EUR">1249164523</Revenue>
</FinancialSummary>
<FinancialSummary>
<SummaryDate format="YYYYMMDD">20101231</SummaryDate>
<Revenue currency="EUR">1242344523</Revenue>
</FinancialSummary>
<FinancialSummary>
<SummaryDate format="YYYYMMDD">20091231</SummaryDate>
<Revenue currency="EUR">324900932</Revenue>
</FinancialSummary>

我试图从具有最高数字摘要日期值的财务摘要标签内的收入节点中提取节点内容。
/FinancialSummary[SummaryDate = '20111231']/Revenue

此 xpath 返回正确 = 1249164523
max(/FinancialSummary/SummaryDate)

此 xpath 返回正确 = 20111231

但是,当我尝试将两者结合起来时,什么都没有返回
/FinancialSummary[SummaryDate = max(/FinancialSummary/SummaryDate)]/Revenue

有什么我想念的吗?这个谜题的解决方案是什么?

额外信息:我尝试包含而不是'='但没有运气

最佳答案

这有效(注意 // 而不是 / 并且在谓词中转移到上下文父级):

//FinancialSummary[SummaryDate=max(../FinancialSummary/SummaryDate)]/Revenue

但是,提供到 FinancialSummary 的直接路径会更好(即更严格和更有效)。这是基于您文档的实际结构。

您的示例 XML 中的问题和建议的解决方案:
  • 您提供了格式不正确的 XML 示例
  • 您的表达式从根 (/) 开始,但您的实际文档可能不包含根 FinancialSummary (因为看起来这些元素在树中更靠后)
  • 关于xml - XPath - 从具有最高节点值的父节点中提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8929032/

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