奇怪的XML没有被解析

时间:2014-09-08 06:58:41

标签: xml parsing xquery libxml2 libxml-js

我在使用libxmljs解析xml时遇到了一个奇怪的问题。 它不是我解析的第一个XML,而且我已经完成了很多,但是this one行为真的很奇怪。

我有这些名称空间:

var nsUri = {
        "xmlns:SOAP-ENV": "http://schemas.xmlsoap.org/soap/envelope/",
        "xmlns:SIG": "https://sigtest.tais.ru/SIG/"
    };

这样做:

var xmlDoc = xmljs.parseXml(providerResponse);
var ShopOptions = xmlDoc.find('//ShopOptions/ShopOption',self.provider.nsUri);

这导致零长度数组。我试图寻找不同的xquery叮咬:*/ShopOption//ShopOption等。但没有任何效果。

1 个答案:

答案 0 :(得分:2)

<ShopOption/>元素继承其<SIG_Response/>祖先https://sigtest.tais.ru/SIG/的命名空间。您已经声明了该命名空间,但也必须使用它。

//SIG:ShopOptions/SIG:ShopOption

您尝试的其他两个查询也不使用命名空间。 */ShopOption查找从当前上下文开始的所有二级<ShopOption/>子项,可能是此处的根; //ShopOption还会搜索没有命名空间的元素。