在webservice中反序列化后无法获得所需的输出 [英] Unable to get the required output after deserialization in 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屋!