gpt4 book ai didi

json - JSON上的MarkLogic XPath,属性名称中带有“@”符号

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

我正在MarkLogic中处理一些JSON-LD数据,并且在带有“ @”符号的属性名称上使用XPath遇到麻烦。例如:

{
"@type": "News",
"title": "some title",
"description": "some description"
}


我的目标是检索类型为“新闻”的标题。我知道“ @”保留表示XPath中的属性,因此下面的内容不起作用。

doc.xpath('.[@type="News"]/title')


使用 xdmp.encodeForNCName函数,我看到“ @”符号在JSON表示中表示为 _40_。但这仍然行不通。

doc.xpath('.[_40_type="News"]/title')

最佳答案

正如其他答案所建议的那样,虽然使用fn:name()也可以工作,但是您也可以直接在MarkLogic XPath中使用有趣的拼写来寻址节点。可能与官方XPath标准本身存在偏差,但MarkLogic允许编写如下表达式:

doc.xpath('node("@type")[. eq "News"]/title'


对于包含空格等的JSON属性非常有用。

HTH!

关于json - JSON上的MarkLogic XPath,属性名称中带有“@”符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56248609/

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