使用命名空间从 Soap XML 中提取数据

Extract Data from Soap XML with Namespaces

我正在尝试提取包含 的数据 在我拥有的 SOAP 响应 XML 中,它在使用 C# 的 SSIS 脚本组件中包含多个变量命名空间。

我的 XML 看起来像这样:

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns3:getCacheEntryResponse xmlns:ns3="http://com.vedaadvantage/dp3/Enterprise/StandardTradeCreditCommercial/SilverChef/IndividualCommercialService" xmlns:ns2="http://com.vedaadvantage/dp3/Enterprise/StandardTradeCreditCommercial/SilverChef" xmlns:ns4="http://com.vedaadvantage/dp3/Enterprise/StandardTradeCreditCommercial/SilverChef/IndividualCommercialDecision" xmlns:ns5="http://vedaadvantage.com/dp3/service/fault" xmlns:ns6="http://com/vedaadvantage/dp3/businessDecisionResultOverride" xmlns:ns7="http://com.vedaadvantage/dp3/connectors" xmlns:ns8="http://com.vedaadvantage/dp3/connectors/vedaxml/vedascore" xmlns:ns9="http://com.vedaadvantage/dp3/connectors/vedaxml/individualalerts">
         <ns3:CacheEntry>
            <cacheEntryData>&amp;lt;Response xmlns="http://com.vedaadvantage/dp3/connectors/vedaxml/vedascore" xmlns:b="http://com.vedaadvantage/dp3/connectors"&amp;gt;&amp;lt;enquiryReport&amp;gt;&amp;lt;primaryMatch&amp;gt;&amp;lt;bureauReference&amp;gt;805917662&amp;lt;/bureauReference&amp;gt;&amp;lt;individual&amp;gt;&amp;lt;individualName&amp;gt;&amp;lt;familyName&amp;gt;MOHAMMADINEJAD&amp;lt;/familyName&amp;gt;&amp;lt;firstGivenName&amp;gt;ALI&amp;lt;/firstGivenName&amp;gt;&amp;lt;createDate&amp;gt;2014-07-15&amp;lt;/createDate&amp;gt;&amp;lt;/individualName&amp;gt;&amp;lt;gender&amp;gt;male&amp;lt;/gender&amp;gt;&amp;lt;dateOfBirth&amp;gt;1982-01-06&amp;lt;/dateOfBirth&amp;gt;&amp;lt;driversLicenceNumber&amp;gt;&amp;lt;countryCodes&amp;gt;AU&amp;lt;/countryCodes&amp;gt;&amp;lt;value/&amp;gt;&amp;lt;/driversLicenceNumber&amp;gt;&amp;lt;b:address&amp;gt;&amp;lt;b:unitNumber/&amp;gt;&amp;lt;b:streetNumber&amp;gt;43&amp;lt;/b:streetNumber&amp;gt;&amp;lt;b:property&amp;gt;43&amp;lt;/b:property&amp;gt;&amp;lt;b:streetName&amp;gt;KING EDWARD&amp;lt;/b:streetName&amp;gt;&amp;lt;b:streetType&amp;gt;AVE&amp;lt;/b:streetType&amp;gt;&amp;lt;b:suburb&amp;gt;ALBION&amp;lt;/b:suburb&amp;gt;&amp;lt;b:city/&amp;gt;&amp;lt;b:state&amp;gt;VIC&amp;lt;/b:state&amp;gt;&amp;lt;b:postcode&amp;gt;3020&amp;lt;/b:postcode&amp;gt;&amp;lt;b:countryCode&amp;gt;AU&amp;lt;/b:countryCode&amp;gt;&amp;lt;b:addressType&amp;gt;residentialCurrent&amp;lt;/b:addressType&amp;gt;&amp;lt;b:createDate&amp;gt;2015-09-04&amp;lt;/b:createDate&amp;gt;&amp;lt;/b:address&amp;gt;&amp;lt;/individual&amp;gt;&amp;lt;individualConsumerCreditFile&amp;gt;&amp;lt;creditEnquiry&amp;gt;&amp;lt;accountType&amp;gt;&amp;lt;accountType&amp;gt;UA&amp;lt;/accountType&amp;gt;&amp;lt;value&amp;gt;Utilities&amp;lt;/value&amp;gt;&amp;lt;/accountType&amp;gt;&amp;lt;role&amp;gt;&amp;lt;consumerRoleTypeCodesResponse&amp;gt;principal&amp;lt;/consumerRoleTypeCodesResponse&amp;gt;&amp;lt;/role&amp;gt;&amp;lt;enquiryAmount&amp;gt;&amp;lt;currencyCodeType/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/enquiryAmount&amp;gt;&amp;lt;coBorrower/&amp;gt;&amp;lt;creditEnquirer&amp;gt;AGL ENGY SALES &amp;amp; MKTG LTD&amp;lt;/creditEnquirer&amp;gt;&amp;lt;clientReference/&amp;gt;&amp;lt;consumerCreditEnquiryTypeResponse&amp;gt;creditApplication&amp;lt;/consumerCreditEnquiryTypeResponse&amp;gt;&amp;lt;enquiryDate&amp;gt;2015-09-04&amp;lt;/enquiryDate&amp;gt;&amp;lt;/creditEnquiry&amp;gt;&amp;lt;creditEnquiry&amp;gt;&amp;lt;accountType&amp;gt;&amp;lt;accountType&amp;gt;TC&amp;lt;/accountType&amp;gt;&amp;lt;value&amp;gt;Telecommunication Service&amp;lt;/value&amp;gt;&amp;lt;/accountType&amp;gt;&amp;lt;role&amp;gt;&amp;lt;consumerRoleTypeCodesResponse&amp;gt;principal&amp;lt;/consumerRoleTypeCodesResponse&amp;gt;&amp;lt;/role&amp;gt;&amp;lt;enquiryAmount&amp;gt;&amp;lt;currencyCodeType/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/enquiryAmount&amp;gt;&amp;lt;coBorrower/&amp;gt;&amp;lt;creditEnquirer&amp;gt;VODAFONE DECISION POINT&amp;lt;/creditEnquirer&amp;gt;&amp;lt;clientReference&amp;gt;1-DCQJWZG&amp;lt;/clientReference&amp;gt;&amp;lt;consumerCreditEnquiryTypeResponse&amp;gt;creditApplication&amp;lt;/consumerCreditEnquiryTypeResponse&amp;gt;&amp;lt;enquiryDate&amp;gt;2014-07-15&amp;lt;/enquiryDate&amp;gt;&amp;lt;/creditEnquiry&amp;gt;&amp;lt;/individualConsumerCreditFile&amp;gt;&amp;lt;individualCommercialCreditFile&amp;gt;&amp;lt;creditEnquiry&amp;gt;&amp;lt;accountType&amp;gt;&amp;lt;commercialAccountTypeCodesResponse&amp;gt;CR&amp;lt;/commercialAccountTypeCodesResponse&amp;gt;&amp;lt;value&amp;gt;Commercial Rental&amp;lt;/value&amp;gt;&amp;lt;/accountType&amp;gt;&amp;lt;enquiryAmount&amp;gt;&amp;lt;currencyCodeType/&amp;gt;&amp;lt;value&amp;gt;25000&amp;lt;/value&amp;gt;&amp;lt;/enquiryAmount&amp;gt;&amp;lt;role&amp;gt;&amp;lt;commercialRoleTypeCodesResponse&amp;gt;principal&amp;lt;/commercialRoleTypeCodesResponse&amp;gt;&amp;lt;/role&amp;gt;&amp;lt;coBorrower/&amp;gt;&amp;lt;creditEnquirer&amp;gt;GOGETTA EQUIPMENT FUNDING&amp;lt;/creditEnquirer&amp;gt;&amp;lt;clientReference/&amp;gt;&amp;lt;commercialCreditEnquiryTypeResponse&amp;gt;creditEnquiry&amp;lt;/commercialCreditEnquiryTypeResponse&amp;gt;&amp;lt;enquiryDate&amp;gt;2016-04-04&amp;lt;/enquiryDate&amp;gt;&amp;lt;/creditEnquiry&amp;gt;&amp;lt;/individualCommercialCreditFile&amp;gt;&amp;lt;matchType&amp;gt;strong&amp;lt;/matchType&amp;gt;&amp;lt;/primaryMatch&amp;gt;&amp;lt;summaryData&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;enquiry-amount&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;amount&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode&amp;gt;AUD&amp;lt;/currencyCode&amp;gt;&amp;lt;value&amp;gt;25000&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;age-of-file&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;months&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;20&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;age-of-subject&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;years&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;34&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;time-at-address&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;months&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;7&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;time-at-employer&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;months&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value/&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;defaults&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;total-value-of-outstanding-defaults&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;amount&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode&amp;gt;AUD&amp;lt;/currencyCode&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;defaults-paid&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;defaults-12&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;defaults-12-paid&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;defaults-12-unpaid&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;defaults-24-paid&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;defaults-24-unpaid&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;defaults-36-paid&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;defaults-36-unpaid&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;time-since-last-default&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;months&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value/&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;total-credit-enquiries&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;3&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;credit-enquiries-1&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;1&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;credit-enquiries-3&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;1&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;credit-enquiries-6&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;1&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;credit-enquiries-12&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;2&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;credit-enquiries-60&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;3&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;time-since-last-enquiry&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;months&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;7&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;telco-and-utility-defaults&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;telco-and-utility-defaults-12&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;telco-and-utility-enquiries&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;2&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;telco-and-utility-enquiries-6&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;telco-and-utility-enquiries-12&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;1&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;authorised-agents-enquiries-12&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;authorised-agents-enquiries-60&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;directorships-current&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;directorships-previous&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;judgements&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;proprietorships&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;adverse-on-file&amp;lt;/name&amp;gt;&amp;lt;summaryType/&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;No&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;file-notes&amp;lt;/name&amp;gt;&amp;lt;summaryType/&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;No&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;known-identities&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;1&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;bankruptcies&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;writs-and-summons&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;summary&amp;gt;&amp;lt;name&amp;gt;external-administration-director&amp;lt;/name&amp;gt;&amp;lt;summaryType&amp;gt;count&amp;lt;/summaryType&amp;gt;&amp;lt;currencyCode/&amp;gt;&amp;lt;value&amp;gt;0&amp;lt;/value&amp;gt;&amp;lt;/summary&amp;gt;&amp;lt;/summaryData&amp;gt;&amp;lt;scoreData&amp;gt;&amp;lt;score&amp;gt;&amp;lt;scorecardModel&amp;gt;0303&amp;lt;/scorecardModel&amp;gt;&amp;lt;relativeRisk&amp;gt;2.3&amp;lt;/relativeRisk&amp;gt;&amp;lt;vedascore1_1Index&amp;gt;4.0863&amp;lt;/vedascore1_1Index&amp;gt;&amp;lt;applicantOdds&amp;gt;26.9&amp;lt;/applicantOdds&amp;gt;&amp;lt;contributingFactor&amp;gt;&amp;lt;impact&amp;gt;Greatly Decreases Risk&amp;lt;/impact&amp;gt;&amp;lt;value&amp;gt;Lack of Consumer Adverse Information&amp;lt;/value&amp;gt;&amp;lt;/contributingFactor&amp;gt;&amp;lt;contributingFactor&amp;gt;&amp;lt;impact&amp;gt;Moderately Decreases Risk&amp;lt;/impact&amp;gt;&amp;lt;value&amp;gt;Number of Consumer Credit Applications&amp;lt;/value&amp;gt;&amp;lt;/contributingFactor&amp;gt;&amp;lt;contributingFactor&amp;gt;&amp;lt;impact&amp;gt;Marginally Decreases Risk&amp;lt;/impact&amp;gt;&amp;lt;value&amp;gt;Individual Shopping Pattern&amp;lt;/value&amp;gt;&amp;lt;/contributingFactor&amp;gt;&amp;lt;contributingFactor&amp;gt;&amp;lt;impact&amp;gt;Marginally Decreases Risk&amp;lt;/impact&amp;gt;&amp;lt;value&amp;gt;Current and Historic Credit Type Sought&amp;lt;/value&amp;gt;&amp;lt;/contributingFactor&amp;gt;&amp;lt;population&amp;gt;&amp;lt;populationOdds&amp;gt;11.9&amp;lt;/populationOdds&amp;gt;&amp;lt;/population&amp;gt;&amp;lt;vedaScore&amp;gt;675&amp;lt;/vedaScore&amp;gt;&amp;lt;percentile&amp;gt;30&amp;lt;/percentile&amp;gt;&amp;lt;scoreType&amp;gt;VS 1.1 COMMERCIAL + CONSUMER&amp;lt;/scoreType&amp;gt;&amp;lt;/score&amp;gt;&amp;lt;/scoreData&amp;gt;&amp;lt;/enquiryReport&amp;gt;&amp;lt;/Response&amp;gt;</cacheEntryData>
            <connectorGroup>vedaxml</connectorGroup>
            <connectorId>vedascore</connectorId>
            <connectorVersion>2014-08-28</connectorVersion>
            <request>&amp;lt;Request xmlns:ns2="http://com.vedaadvantage/dp3/connectors" xmlns="http://com.vedaadvantage/dp3/connectors/vedaxml/vedascore"&amp;gt;&amp;lt;product&amp;gt;&amp;lt;name&amp;gt;vedascoreFinancialCommercialPlusConsumer1_1&amp;lt;/name&amp;gt;&amp;lt;summary&amp;gt;true&amp;lt;/summary&amp;gt;&amp;lt;/product&amp;gt;&amp;lt;individual&amp;gt;&amp;lt;individualName&amp;gt;&amp;lt;familyName&amp;gt;Mohammadinejad&amp;lt;/familyName&amp;gt;&amp;lt;firstGivenName&amp;gt;Ali&amp;lt;/firstGivenName&amp;gt;&amp;lt;otherGivenName&amp;gt;&amp;lt;/otherGivenName&amp;gt;&amp;lt;/individualName&amp;gt;&amp;lt;gender&amp;gt;unknown&amp;lt;/gender&amp;gt;&amp;lt;dateOfBirth&amp;gt;1982-01-06Z&amp;lt;/dateOfBirth&amp;gt;&amp;lt;driversLicenceNumber&amp;gt;&amp;lt;countryCodes&amp;gt;AU&amp;lt;/countryCodes&amp;gt;&amp;lt;value&amp;gt;06011982&amp;lt;/value&amp;gt;&amp;lt;/driversLicenceNumber&amp;gt;&amp;lt;ns2:address&amp;gt;&amp;lt;ns2:addressType&amp;gt;residentialCurrent&amp;lt;/ns2:addressType&amp;gt;&amp;lt;ns2:unitNumber&amp;gt;3 U&amp;lt;/ns2:unitNumber&amp;gt;&amp;lt;ns2:streetNumber&amp;gt;43&amp;lt;/ns2:streetNumber&amp;gt;&amp;lt;ns2:property&amp;gt;43&amp;lt;/ns2:property&amp;gt;&amp;lt;ns2:streetName&amp;gt;KING EDWARD&amp;lt;/ns2:streetName&amp;gt;&amp;lt;ns2:streetType&amp;gt;AVE&amp;lt;/ns2:streetType&amp;gt;&amp;lt;ns2:suburb&amp;gt;ALBION&amp;lt;/ns2:suburb&amp;gt;&amp;lt;ns2:state&amp;gt;VIC&amp;lt;/ns2:state&amp;gt;&amp;lt;ns2:postcode&amp;gt;3020&amp;lt;/ns2:postcode&amp;gt;&amp;lt;ns2:countryCode&amp;gt;AU&amp;lt;/ns2:countryCode&amp;gt;&amp;lt;/ns2:address&amp;gt;&amp;lt;role&amp;gt;principal&amp;lt;/role&amp;gt;&amp;lt;/individual&amp;gt;&amp;lt;enquiry&amp;gt;&amp;lt;accountType&amp;gt;&amp;lt;accountType&amp;gt;CR&amp;lt;/accountType&amp;gt;&amp;lt;/accountType&amp;gt;&amp;lt;enquiryAmount&amp;gt;&amp;lt;currencyCodeType&amp;gt;AUD&amp;lt;/currencyCodeType&amp;gt;&amp;lt;value&amp;gt;25000&amp;lt;/value&amp;gt;&amp;lt;/enquiryAmount&amp;gt;&amp;lt;enquiryType&amp;gt;creditEnquiry&amp;lt;/enquiryType&amp;gt;&amp;lt;/enquiry&amp;gt;&amp;lt;customerReference&amp;gt;GoGetta&amp;lt;/customerReference&amp;gt;&amp;lt;/Request&amp;gt;</request>
         </ns3:CacheEntry>
      </ns3:getCacheEntryResponse>
   </soap:Body>
</soap:Envelope>

我已经使用 http://xmltocsharp.azurewebsites.net/ 生成我的 C# 类,它看起来像这样:

[XmlRoot(ElementName = "CacheEntry", Namespace = "http://com.vedaadvantage/dp3/Enterprise/StandardTradeCreditCommercial/SilverChef/IndividualCommercialService")]
    public class CacheEntry
    {
        [XmlElement(ElementName = "cacheEntryData")]
        public string CacheEntryData { get; set; }
        [XmlElement(ElementName = "connectorGroup")]
        public string ConnectorGroup { get; set; }
        [XmlElement(ElementName = "connectorId")]
        public string ConnectorId { get; set; }
        [XmlElement(ElementName = "connectorVersion")]
        public string ConnectorVersion { get; set; }
        [XmlElement(ElementName = "request")]
        public string Request { get; set; }
    }

    [XmlRoot(ElementName = "getCacheEntryResponse", Namespace = "http://com.vedaadvantage/dp3/Enterprise/StandardTradeCreditCommercial/SilverChef/IndividualCommercialService")]
    public class GetCacheEntryResponse
    {
        [XmlElement(ElementName = "CacheEntry", Namespace = "http://com.vedaadvantage/dp3/Enterprise/StandardTradeCreditCommercial/SilverChef/IndividualCommercialService")]
        public CacheEntry CacheEntry { get; set; }
        [XmlAttribute(AttributeName = "ns3", Namespace = "http://www.w3.org/2000/xmlns/")]
        public string Ns3 { get; set; }
        [XmlAttribute(AttributeName = "ns2", Namespace = "http://www.w3.org/2000/xmlns/")]
        public string Ns2 { get; set; }
        [XmlAttribute(AttributeName = "ns4", Namespace = "http://www.w3.org/2000/xmlns/")]
        public string Ns4 { get; set; }
        [XmlAttribute(AttributeName = "ns5", Namespace = "http://www.w3.org/2000/xmlns/")]
        public string Ns5 { get; set; }
        [XmlAttribute(AttributeName = "ns6", Namespace = "http://www.w3.org/2000/xmlns/")]
        public string Ns6 { get; set; }
        [XmlAttribute(AttributeName = "ns7", Namespace = "http://www.w3.org/2000/xmlns/")]
        public string Ns7 { get; set; }
        [XmlAttribute(AttributeName = "ns8", Namespace = "http://www.w3.org/2000/xmlns/")]
        public string Ns8 { get; set; }
        [XmlAttribute(AttributeName = "ns9", Namespace = "http://www.w3.org/2000/xmlns/")]
        public string Ns9 { get; set; }
    }

    [XmlRoot(ElementName = "Body", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
    public class Body
    {
        [XmlElement(ElementName = "getCacheEntryResponse", Namespace = "http://com.vedaadvantage/dp3/Enterprise/StandardTradeCreditCommercial/SilverChef/IndividualCommercialService")]
        public GetCacheEntryResponse GetCacheEntryResponse { get; set; }
    }

    [XmlRoot(ElementName = "Envelope", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
    public class Envelope
    {
        [XmlElement(ElementName = "Body", Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
        public Body Body { get; set; }
        [XmlAttribute(AttributeName = "soap", Namespace = "http://www.w3.org/2000/xmlns/")]
        public string Soap { get; set; }
    }

这是我尝试提取 cacheEntryData 字段的方法,但它没有检索节点列表 (xnList) 并且它没有在我的 foreach 语句中返回任何内容。

public override void CreateNewOutputRows()
     {
         string soap_resp = Variables.getCacheEntryRspXML.ToString();

         soap_resp = soap_resp.Replace("\"\"", "\"");

         System.Windows.Forms.MessageBox.Show(soap_resp);

         XmlDocument agv = new XmlDocument();
         agv.LoadXml(soap_resp);
         XmlNamespaceManager nsmgr = new XmlNamespaceManager(agv.NameTable);

         nsmgr.AddNamespace("soap", "http://schemas.xmlsoap.org/soap/envelope/");
         nsmgr.AddNamespace("ns3", "http://com.vedaadvantage/dp3/Enterprise/StandardTradeCreditCommercial/SilverChef/IndividualCommercialService");

         XmlNodeList xnList = agv.SelectNodes("//ns3:CacheEntry", nsmgr);

         foreach (XmlNode xn in xnList)
         {
             var cacheEntryData = xn["ns3:CacheEntry"].InnerText;
             System.Windows.Forms.MessageBox.Show(Convert.ToString(cacheEntryData));

         }
     }

这很不寻常。代码看起来是 html 编码的,所以我不得不 html 解码。

using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
using System.IO;
using System.Net;


namespace ConsoleApplication73
{
    class Program
    {
        const string FILENAME = @"c:\temp\test.xml";
        static void Main(string[] args)
        {
            string xml = File.ReadAllText(FILENAME);
            CreateNewOutputRows(xml);


        }
        static public void CreateNewOutputRows(string xml)
        {
            XDocument doc = XDocument.Parse(xml);

            XElement cacheEntryData = doc.Descendants().Where(x => x.Name.LocalName == "cacheEntryData").FirstOrDefault();

            string cacheEntryDataXml = WebUtility.HtmlDecode(cacheEntryData.ToString());
            XElement cacheEntryData2 = XElement.Parse(cacheEntryDataXml);
        }
    }

}