2014-09-08 4 views
1

libxmljs으로 xml을 파싱하는 데 이상한 문제가 있습니다. 구문 분석 할 첫 번째 XML이 아니며 많은 수의 작업을 수행했지만 this one은 실제로 이상하게 작동합니다.Wierd 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 훔치기를 시도하고있다 : */ShopOption, //ShopOption 등등. 그러나 아무것도 운동한다.

답변

2

<ShopOption/> 요소는 <SIG_Response/> 조상 인 https://sigtest.tais.ru/SIG/의 네임 스페이스를 상속합니다. 이미 네임 스페이스를 선언했지만 사용해야합니다.

//SIG:ShopOptions/SIG:ShopOption 

시도한 다른 두 개의 쿼리도 네임 스페이스를 사용하지 않습니다. */ShopOption은 현재 컨텍스트에서 시작하는 모든 하위 수준 <ShopOption/> (여기서는 루트)을 찾습니다. //ShopOption은 네임 스페이스가없는 요소도 검색합니다.

관련 문제