【问题标题】:xml serialize with many element with same name and different type and namespace. How can i serialize the xml using asp.netxml 序列化许多具有相同名称和不同类型和命名空间的元素。如何使用 asp.net 序列化 xml
【发布时间】:2016-02-15 06:42:45
【问题描述】:

我在 xml 文件中得到了肥皂响应,我想将 xml 序列化为模型。问题是 xml 有许多具有相同名称和不同类型和命名空间的元素。 我得到如下的xml文件。

 <?xml version="1.0" encoding="utf 8" ?> 
  <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
  <trialCreditVendResp xmlns="http://www.sample.co.za/xmlvend/revenue/2.1/schema">
   <creditVendReceipt>
  <transactions>
  <tx xsi:type="CreditVendTx">
  <amt value="22291.43" /> 
  <creditTokenIssue xmlns:q1="http://www.sample.co.za/xmlvend/base/2.1/schema" xsi:type="q1:SaleCredTokenIssue">
  <q1:units value="22291.5" siUnit="KWh" /> 
  <q1:resource xsi:type="q1:Elec" /> 
  </creditTokenIssue>
  </tx>
  <tx xsi:type="ServiceChrgTx">
  <amt value="10.00" symbol="R" /> 
  <accDesc>Fixed Fee</accDesc> 
  <accNo>DEMO3</accNo> 
  </tx>
  <tx xsi:type="ServiceChrgTx">
  <amt value="20.00" symbol="R" /> 
  <accDesc>Service Charge</accDesc> 
  <accNo>DEMO3</accNo> 
  </tx>
  <tx xsi:type="ServiceChrgTx">
  <amt value="2678.57" symbol="R" /> 
  <accDesc>VAT</accDesc> 
  <accNo>DEMO3</accNo> 
  </tx>
  <tenderAmt value="25000" /> 
  <change value="0" /> 
  </transactions>
  </creditVendReceipt>
  </trialCreditVendResp>
  </soap:Body>
  </soap:Envelope>

【问题讨论】:

    标签: asp.net web-services serialization soap xml-deserialization


    【解决方案1】:

    您不能在一个命名空间中拥有多个具有相同名称的类型。要制作一些 .NET(C#、VB...)类并生成代理类,您可以使用 .net 中的 wsdl.exe util。 http://youservice.com/service.asmx?wsdl上的wsdl信息

    https://msdn.microsoft.com/en-us/library/7h3ystb6(v=vs.100).aspx

    【讨论】:

      猜你喜欢
      • 2020-01-14
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 2017-02-07
      • 1970-01-01
      • 1970-01-01
      • 2019-09-07
      • 2015-10-08
      相关资源
      最近更新 更多