【问题标题】:how to access a node when path contains space using node.xpath?当路径包含空间时如何使用 node.xpath 访问节点?
【发布时间】:2019-11-01 18:14:05
【问题描述】:

我需要使用node.xpath 来访问JSON 节点,但是属性名称包含空格,例如“First Name”:

empDesc = cts.doc('/employee/employee1.json').xpath('//First Name');

我怎样才能做到这一点?

【问题讨论】:

    标签: xpath marklogic


    【解决方案1】:

    类似这样的:

    empDesc = cts.doc('/employee/employee1.json').xpath('//*[name(.)="First Name"]')
    

    但您最好将其转换为 JSON 对象并使用正常的访问方法。

    【讨论】:

      【解决方案2】:

      您可以在 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!

      【讨论】:

        猜你喜欢
        • 2014-06-04
        • 2018-12-19
        • 2020-03-03
        • 2012-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-19
        • 2013-02-03
        相关资源
        最近更新 更多