当路径包含 space 使用 node.xpath 时如何访问节点?
how to access a node when path contains space using node.xpath?
我需要使用node.xpath
访问JSON节点,但是属性名称包含space,如"First Name":
empDesc = cts.doc('/employee/employee1.json').xpath('//First Name');
我怎样才能使这个工作?
像这样:
empDesc = cts.doc('/employee/employee1.json').xpath('//*[name(.)="First Name"]')
但是您最好将其转换为 JSON 对象并使用正常的访问方法。
您可以将 node()
与 MarkLogic XPath 中的参数一起使用:
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!
我需要使用node.xpath
访问JSON节点,但是属性名称包含space,如"First Name":
empDesc = cts.doc('/employee/employee1.json').xpath('//First Name');
我怎样才能使这个工作?
像这样:
empDesc = cts.doc('/employee/employee1.json').xpath('//*[name(.)="First Name"]')
但是您最好将其转换为 JSON 对象并使用正常的访问方法。
您可以将 node()
与 MarkLogic XPath 中的参数一起使用:
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!