当路径包含 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!