2016-10-11 3 views
0

Я пытаюсь получить несколько узлов из следующего XML:XPath с пространством имен с VBS

<?xml version="1.0" encoding="UTF-8"?> 
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <soap:Body> 
     <CheckPersonResponse xmlns="http://test.net/crs/"> 
     <CheckPersonResult> 
      <xml xmlns="http://test.com/webservices/crs2/"> 
       <requestid>933ca7df-6f25-49d9-8144-692e9f18cf27</requestid> 
       <customernumber>xxx</customernumber> 
       <reference>xx</reference> 
       <product>xxx</product> 
       <input> 
        <customernumber>xx</customernumber> 
        <reference>xx</reference> 
        <name>xx</name> 
        <initials>xx</initials> 
        <prefix>xx</prefix> 
        <gender>xx</gender> 
        <birthdate>xxx</birthdate> 
        <streetname>x</streetname> 
        <housenumber>x</housenumber> 
        <extension>Axx</extension> 
        <postcode>xx</postcode> 
        <city>xx</city> 
        <country /> 
        <phonenumber1 /> 
        <phonenumber2 /> 
        <emailaddress /> 
        <bankaccount /> 
        <referencedate>xxx</referencedate> 
        <typeofclaim>xx</typeofclaim> 
        <claimdate>xxx</claimdate> 
        <claimamount>xx</claimamount> 
       </input> 
       <result> 
        <reference>xxx</reference> 
        <personalscore>0</personalscore> 
        <statisticalscore>0</statisticalscore> 
        <paymentscore>0</paymentscore> 
        <overallscore>0</overallscore> 
        <addressindicator /> 
       </result> 
      </xml> 
     </CheckPersonResult> 
     </CheckPersonResponse> 
    </soap:Body> 
</soap:Envelope> 

Где я хочу, чтобы получить все узлы внутри тега <result>, как я могу выбрать все узлы с XPath и использовать их в vbs?

Заранее благодарен!

+1

это было предложено много раз. Поиск. (Не говоря уже о том, что в MSDN есть официальная документация, которая объясняет эти вещи.) – Tomalak

+0

Я получаю, что мне нужно установить xmlns, хотя с xpath xml: xml, хотя он не определен, он не возвращает ошибку ... –

+0

Вы не показываете свой код, вы не объясняете, что вы пробовали, вы не цитируете сообщения об ошибках ... * И * есть сотни в основном образцов кода для копирования и вставки, которые точно решаются эта проблема на этом сайте и в других местах в Интернете. В самом деле. Проведите 20 минут поиска, и вы наткнетесь хотя бы на один, возможно, на большее. – Tomalak

ответ

0

Найдено решение:

xmlhttp.responseXML.setProperty "SelectionNamespaces", "xmlns:s='http://test.nl/webservices/crs2/' xmlns:c='http:/test.net/crs/' xmlns:soap='http://www.w3.org/2003/05/soap-envelope' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema'" 

Set NodeList = xmlhttp.responseXML.selectNodes("/soap:Envelope/soap:Body/c:CheckPersonResponse/c:CheckPersonResult/s:xml/s:result/s:*") 
Смежные вопросы