2016-07-05 31 views
0

を使用してSOAP応答からXSI、属性を使用して(、名前空間なしatributes)を、通常のXMLにSOAP応答を変換するコードやXSLT削除名前空間は、名前空間を削除するコードやXSLT

を使用してSOAP応答から、XSI属性C#コード(シリアライザ、XMLDoc、XDoc)またはXSLT。

ここは石鹸応答です。私が欲しい

  <?xml version="1.0" encoding="UTF-8"?> 
      <SOAP-ENV:Envelope 
       xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" 
       xmlns:ns1="urn:Magento" 
       xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> 
       <SOAP-ENV:Body> 
        <ns1:catalogProductInfoResponse> 
         <info xsi:type="ns1:catalogProductReturnEntity"> 
          <product_id xsi:type="xsd:string">3459</product_id> 
          <sku xsi:type="xsd:string">HK-BP001</sku> 
          <categories SOAP-ENC:arrayType="xsd:string[0]" xsi:type="ns1:ArrayOfString"/> 
          <websites SOAP-ENC:arrayType="xsd:string[7]" xsi:type="ns1:ArrayOfString"> 
           <item xsi:type="xsd:string">1</item>         
          </websites> 
          <created_at xsi:type="xsd:string">2016-04-19 01:45:35</created_at> 
          <has_options xsi:type="xsd:string">1</has_options> 
          <special_from_date xsi:type="xsd:string">2016-04-19 00:00:00</special_from_date> 
          <tier_price SOAP-ENC:arrayType="ns1:catalogProductTierPriceEntity[0]" xsi:type="ns1:catalogProductTierPriceEntityArray"/> 
          <custom_design xsi:type="xsd:string">ultimo/default</custom_design> 
          <enable_googlecheckout xsi:type="xsd:string">1</enable_googlecheckout> 
         </info> 
        </ns1:catalogProductInfoResponse> 
       </SOAP-ENV:Body> 
      </SOAP-ENV:Envelope> 

のようなXMLを変換:

  <?xml version="1.0" encoding="UTF-8"?> 
      <Envelope> 
       <Body> 
        <catalogProductInfoResponse> 
         <info> 
          <product_id>3459</product_id> 
          <sku>HK-BP001</sku> 
          <categories/> 
          <websites> 
           <item>1</item>        
          </websites> 
          <created_at>2016-04-19 01:45:35</created_at> 
          <has_options>1</has_options> 
          <special_from_date>2016-04-19 00:00:00</special_from_date> 
          <tier_price/> 
          <custom_design>ultimo/default</custom_design> 
          <enable_googlecheckout>1</enable_googlecheckout> 
         </info> 
        </catalogProductInfoResponse> 
       </Body> 
      </Envelope> 

答えて

1

あなたがXSLTを使用することができます

<xsl:template match="*"> 
    <xsl:element name="{local-name()}"> 
    <xsl:apply-templates/> 
    </xsl:element> 
</xsl:template> 
+0

おかげでマーティンを、それが動作します:) – vibs2003