gpt4 book ai didi

xml - 用于找出属性的字符串长度的 Xpath 函数

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

我有如下的 xml 消息正文。我需要查明属性“SenderId”的字符串长度是否大于 0。我无法找到它。

XML 消息

<?xml version="1.0"?>
<Audit xmlns="http://schemas.Auditlog.xsd">
<MessageId>1234</MessageId>
<SenderDetails CreatedDate="2017-Jan-12" SenderId="App1"/>
</Audit>

我正在使用下面的 xpath 函数来获取 SenderId 的字符串长度

when(xpath("string-length(string(//node()[local-name()='SenderDetails']/@[local-name()='SenderId']/text()))>0))

但它不起作用。

最佳答案

这个 XPath,

string-length(//*[local-name() = 'SenderDetails']/@SenderId)

会返回4,因为@SenderId的属性值为App1,字符串长度为4,可以通过追加>测试其返回值0 如果您希望为正数返回 true。

参见 How does XPath deal with XML namespaces? 学习如何在 XPath 中声明和使用 namespace 前缀,这比通过 local-name() 破坏 namespace 更可取。

关于xml - 用于找出属性的字符串长度的 Xpath 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45375838/

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