1

我在解析 xml 时遇到了一个奇怪的问题libxmljs。这不是我要解析的第一个 XML,我已经做了很多,但是这个行为真的很奇怪。

我有这些命名空间:

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 stings:*/ShopOption//ShopOption。但没有任何效果。

4

1 回答 1

2

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

//SIG:ShopOptions/SIG:ShopOption

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

于 2014-09-08T07:17:42.150 回答