2016-10-11 121 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:*")