MarkLogic版本:9.0-6.2
我正在尝试在如下所示的JSON文档上的提取文档数据(使用查询选项)中应用Xpath。如果下面的属性“ OptIn”的值为“ True”,则需要过滤掉“ Channel”属性。
{
"Category":
{
"Name": "Severe Weather",
"Channels":[
{
"Channel":
{
"Name":"Email",
"OptIn": "True"
}
},
{
"Channel":
{
"Name":"Text",
"OptIn": "False"
}
}
]
}
}
我尝试了以下代码,
'<extract-document-data selected="include">' +
'<extract-path>//*[OptIn="True"]/../..</extract-path>' +
'</extract-document-data>' +
仅从“渠道”属性中提取,如下所示。
[
{
"Channel": {
"Name": "Email",
"OptIn": "True"
}
}
]
但是我需要从父级“ Category”属性中提取,但要过滤掉OptIn值为False的通道。
有指针吗?
答案 0 :(得分:0)
如果我理解正确,您想提取“类别”,但仅提取那些“ OptIn”等于“ true”的“频道”,对吧?
提取文档数据还不够高级。最好提取整个类别,其中至少一个OptIn等于true(// Category [// OptIn ='true']),然后在搜索响应上使用REST变换来修剪不需要的频道。
HTH!