从使用xsd创建的类序列化的XML不正确

时间:2016-06-10 13:07:19

标签: c# xml xsd

我有一个XML文件(它是对SAP ME服务的SOAP请求)。 该文件如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:me="http://sap.com/xi/ME">
  <soapenv:Header />
  <soapenv:Body>
    <me:ShopOrderByBasicDataQuery_sync>
      <me:ShopOrderByBasicDataQuery>
        <me:ShopOrder>BOXBUILD_LASER_TEST</me:ShopOrder>
        <me:SiteRef>
          <me:Site>TEST1</me:Site>
        </me:SiteRef>
      </me:ShopOrderByBasicDataQuery>
    </me:ShopOrderByBasicDataQuery_sync>
  </soapenv:Body>
</soapenv:Envelope>

使用Paste Special我使用Paste XML作为Classes并获得了许多类。 我创建了一个新的Envelope对象

Envelope shoporder = new Envelope();
EnvelopeBody shoporderBody = new EnvelopeBody();
ShopOrderByBasicDataQuery_sync shoporderSync = new       ShopOrderByBasicDataQuery_sync();
ShopOrderByBasicDataQuery_syncShopOrderByBasicDataQuery shoporderDataQuery = new ShopOrderByBasicDataQuery_syncShopOrderByBasicDataQuery();

shoporderSync.ShopOrderByBasicDataQuery = shoporderDataQuery;
shoporderDataQuery.ShopOrder = "BOXBUILD_LASER_TEST";
shoporderDataQuery.SiteRef = new ShopOrderByBasicDataQuery_syncShopOrderByBasicDataQuerySiteRef();
shoporderDataQuery.SiteRef.Site = "TEST1";
shoporderSync.ShopOrderByBasicDataQuery = shoporderDataQuery;
shoporderBody.ShopOrderByBasicDataQuery_sync = shoporderSync;
shoporder.Body = shoporderBody;

string tmp = (string)SoapHelper.SerializeToXmlString(shoporder);

字符串 tmp 包含此内容(经过一些格式化后)

<?xml version="1.0" encoding="utf-16"?>
<Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/soap/envelope/">
  <Body>
    <ShopOrderByBasicDataQuery_sync xmlns="http://sap.com/xi/ME">
      <ShopOrderByBasicDataQuery>
        <ShopOrder>BOXBUILD_LASER_TEST</ShopOrder>
        <SiteRef>
          <Site>TEST1</Site>
        </SiteRef>
      </ShopOrderByBasicDataQuery>
    </ShopOrderByBasicDataQuery_sync>
  </Body>
</Envelope>

哪个不是正确的文件!我做错了什么?

0 个答案:

没有答案