【发布时间】:2019-11-01 18:14:05
【问题描述】:
我需要使用node.xpath 来访问JSON 节点,但是属性名称包含空格,例如“First Name”:
empDesc = cts.doc('/employee/employee1.json').xpath('//First Name');
我怎样才能做到这一点?
【问题讨论】:
我需要使用node.xpath 来访问JSON 节点,但是属性名称包含空格,例如“First Name”:
empDesc = cts.doc('/employee/employee1.json').xpath('//First Name');
我怎样才能做到这一点?
【问题讨论】:
类似这样的:
empDesc = cts.doc('/employee/employee1.json').xpath('//*[name(.)="First Name"]')
但您最好将其转换为 JSON 对象并使用正常的访问方法。
【讨论】:
您可以在 MarkLogic XPath 中将node() 与参数一起使用:
empDesc = cts.doc('/employee/employee1.json').xpath('//node("First Name")');
如果您需要获取多个属性,您也可以先转换为 JSON 对象,然后像 Mary 建议的那样以常规方式访问该对象。像这样的:
let doc = cts.doc('/employee/employee1.json').toObject();
let empDesc = doc.employee['First Name'] + ' ' + doc.employee['Last Name'];
HTH!
【讨论】: