gpt4 book ai didi

xpath - Coalesce 运算符的 XPath 等价物是什么?

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

我有以下路径:

  • /my:company/ns1:Audit/ns1:Visit/ns1:customField10
  • /my:company/ns1:Audit/ns1:Visit/ns1:accountNumber

  • 如果不为空,我想选择 ns1:customField10,否则我想返回 ns1:accountNumber。

    我尝试了以下方法:
    xml.SelectSingleNode(
    "(/my:cobius/ns1:Audit/ns1:Visit/ns1:customField10 |
    /my:cobius/ns1:Audit/ns1:Visit/ns1:accountNumber)", ns)

    但它总是返回 accountNumber。我尝试翻转 customField10 和 accountNumber 的顺序,但没有任何乐趣。它仍然返回 accountNumber。

    如何在 XPath 中执行相当于合并运算符的操作?

    更新:

    这是最终的代码:
    xml.SelectSingleNode(
    "(/my:company/ns1:Audit/ns1:Visit/ns1:customField10[normalize-space()] |
    /my:company/ns1:Audit/ns1:Visit/ns1:accountNumber[not(normalize-space(../ns1:customField10))])", ns)

    最佳答案

    如果节点丢失(相当于 SQL 中的 NULL),您的代码将起作用。但是空不会丢失(就像 SQL 中的空字符串)。

    您当然可以添加谓词:

    /my:cobius/ns1:Audit/ns1:Visit/ns1:customField10[string-length(.)] | /my:cobius/ns1:Audit/ns1:Visit/ns1:accountNumber

    关于xpath - Coalesce 运算符的 XPath 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9008856/

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