在webservice中反序列化后无法获得所需的输出 [英] Unable to get the required output after deserialization in webservice

查看:95
本文介绍了在webservice中反序列化后无法获得所需的输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我正在开发一个WCF服务,我需要将xml反序列化为ac#object。

I am working on a WCF service where i need to deserialize an xml to a c# object.

XML如下所示:

< ns0:CUST_LOCK xmlns:ns0 =" http://BTS.Lock">< RESPONSE>< LOCKSTATUS> 123 - 已锁定< / LOCKSTATUS>< LOCKSTATUS> 123 - 已锁定< / LOCKSTATUS>< / RESPONSE>< / ns0:CUST_LOCK >&b> b $ p

<ns0:CUST_LOCK xmlns:ns0="http://BTS.Lock"><RESPONSE><LOCKSTATUS>123 - LOCKED</LOCKSTATUS><LOCKSTATUS>123 - LOCKED</LOCKSTATUS></RESPONSE></ns0:CUST_LOCK >

但是当我反序列化时,它

But when i deserialize, it

  using(var stringreader = new StringReader(secOrpara.objValue))

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; {

$
  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; XmlSerializer xsxsr = new XmlSerializer(typeof(CUST_LOCK));

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; objReturn =(CUST_LOCK)xsxsr.Deserialize(stringreader);

 using (var stringreader = new StringReader(secOrpara.objValue))
                {

                XmlSerializer xsxsr = new XmlSerializer(typeof(CUST_LOCK));
                    objReturn = (CUST_LOCK)xsxsr.Deserialize(stringreader);

给出这样的回复

< s:Envelope xmlns:s =" http://schemas.xmlsoap.org/soap/envelope/">

   < s:Body>

  &NBSP; &NBSP; < II_MethodResponse xmlns =" http://tempuri.org/">

  &NBSP; &NBSP; &NBSP;  < II_MethodResponseResult xmlns:a =" http://schemas.datacontract.org/2004/07/dbConnection.ITable" xmlns:i =" http://www.w3.org/2001/XMLSchema-instance">

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < a:RESPONSE xmlns:b =" http://schemas.microsoft.com/2003/10/Serialization/Arrays">

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;  < b:string> 21961581 - ALREADY LOCKED< / b:string>

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;  < b:string> 21961579 - ALREADY LOCKED< / b:string>

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;  < b:string> 22990436 - ALREADY LOCKED< / b:string>

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;  < b:string> 22988607 - ALREADY LOCKED< / b:string>

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;  < b:string> 22990186 - ALREADY LOCKED< / b:string>

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;  < b:string> 22990205 - ALREADY LOCKED< / b:string>

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;  < b:string> 22990238 - ALREADY LOCKED< / b:string>

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;  < b:string> 23009130 - ALREADY LOCKED< / b:string>

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;  < / a:RESPONSE>

  &NBSP; &NBSP; &NBSP;  < / II_MethodResponseResult>

  &NBSP; &NBSP; < / II_MethodResponse>

   < / s:Body>

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <II_MethodResponse xmlns="http://tempuri.org/">
         <II_MethodResponseResult xmlns:a="http://schemas.datacontract.org/2004/07/dbConnection.ITable" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <a:RESPONSE xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
               <b:string>21961581 - ALREADY LOCKED</b:string>
               <b:string>21961579 - ALREADY LOCKED</b:string>
               <b:string>22990436 - ALREADY LOCKED</b:string>
               <b:string>22988607 - ALREADY LOCKED</b:string>
               <b:string>22990186 - ALREADY LOCKED</b:string>
               <b:string>22990205 - ALREADY LOCKED</b:string>
               <b:string>22990238 - ALREADY LOCKED</b:string>
               <b:string>23009130 - ALREADY LOCKED</b:string>
             </a:RESPONSE>
         </II_MethodResponseResult>
      </II_MethodResponse>
   </s:Body>

< / s:Envelope>

</s:Envelope>

但是我希望以这种方式得到结果, 

But i am expecting the result in this way, 

< s:Envelope xmlns:s =" http://schemas.xmlsoap.org/soap/envelope/"> ;

   < s:Body>

  &NBSP; &NBSP; < II_MethodResponse xmlns =" http://tempuri.org/">

  &NBSP; &NBSP; &NBSP;  < II_MethodResponseResult xmlns:a =" http://schemas.datacontract.org/2004/07/dbConnection.ITable" xmlns:i =" http://www.w3.org/2001/XMLSchema-instance">

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; < a:RESPONSE xmlns:b =" http://schemas.microsoft.com/2003/10/Serialization/Arrays">

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;  < b:LOCKSTATUS> 21961581 - 已被锁定< / b:LOCKSTATUS>

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;  < b:LOCKSTATUS> 21961579 - 已被锁定< / b:LOCKSTATUS>

  &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;&NBSP; &NBSP; &NBSP; &NBSP; &NBSP; &NBSP;  < / a:RESPONSE>

  &NBSP; &NBSP; &NBSP;  < / II_MethodResponseResult>

  &NBSP; &NBSP; < / II_MethodResponse>

   < / s:正文>

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <II_MethodResponse xmlns="http://tempuri.org/">
         <II_MethodResponseResult xmlns:a="http://schemas.datacontract.org/2004/07/dbConnection.ITable" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <a:RESPONSE xmlns:b="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
               <b:LOCKSTATUS>21961581 - ALREADY LOCKED</b:LOCKSTATUS>
               <b:LOCKSTATUS>21961579 - ALREADY LOCKED</b:LOCKSTATUS>
                            </a:RESPONSE>
         </II_MethodResponseResult>
      </II_MethodResponse>
   </s:Body>

< / s:信封>

</s:Envelope>

可以你能建议可以做些什么。

Can you please suggest what can be done for this.

推荐答案

任何人都可以帮助我:( 
Can anyone please help me :( 


这篇关于在webservice中反序列化后无法获得所需的输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆