当没有可用的有效命名空间名称时,无法使用XPATH读取XML数据

时间:2017-11-15 15:38:59

标签: node.js xml typescript xpath xml-namespaces

我正在研究基于打字稿的节点程序,并尝试从已有的xml文件读取XML数据(此文件从第三方位置下载)。我在这种情况下使用xpath(https://www.npmjs.com/package/xpath

以下是XML文件的根节点

<bookstore xmlns="https://www.example.com/schema/papers/doc/5.0" id="5001" name ="amber" >

以下是示例代码

      var somePath = //abc
      var result = xpath.evaluate(
          somePath,            // xpathExpression 
          someDocument,        // contextNode 
          {“”: “https://www.example.com/schema/papers/doc/5.0”},// namespaceResolver 
          xpath.XPathResult.ANY_TYPE, // resultType 
          null                        // result 
       );

但是我无法使用上述代码检索任何数据。我发现这段代码没有解析名称空间。原因似乎没有可用于识别当前命名空间的有效命名空间。

例如,如果第三方XML具有名称空间,例如xmlns:abc = https://www.example.com/schema/papers/doc/5.0我可以在 xpath.eveluate 下使用它(例如{“abc”:“{{3} }}}}并检索所需的数据。

有没有办法从没有名称的这种命名空间中检索数据?请善意地阐明一下。提前谢谢。

0 个答案:

没有答案