急求助,第一个回答出来的50分全送!

bkhm07 2011-11-25 10:18:35
<Request>
<streamingNo></streamingNo>
<opFlag></opFlag>
<productID></productID>
<serviceID></serviceID>
<SPID></SPID>
<chargingPolicyID></chargingPolicyID>
<status></status>
<statusEffectiveTime></statusEffectiveTime>
<chargingPolicyCN></chargingPolicyCN>
<chargingPolicyEN></chargingPolicyEN>
<corpOnly></corpOnly>
<releaseTime></releaseTime>
<subscriptionSyncFlag></subscriptionSyncFlag>
<needCnfm></needCnfm>
<packageFlag></packageFlag>
<portalUseFlag></portalUseFlag>
<sellFlag></sellFlag>
<productDesc></productDesc>
<CRBTProductType></CRBTProductType>
<accessNoAndfeatureStr>
<accessNo></accessNo>
<accessNoMatchMode></accessNoMatchMode>
<accessNoType></accessNoType>
<featureStr></featureStr>
<featureStrType></featureStrType>
<featureStrMatchMode></featureStrMatchMode>
</accessNoAndfeatureStr>
<RRID></RRID>
<productName></productName>
<trialFlag></trialFlag>
<subEffectMode></subEffectMode>
<PayType></PayType>
<isTrailInPeriod></isTrailInPeriod>
</Request>

这个是一个WS的字符串请求,我要怎么写才能将这个请求反序列化成类

我自己的代码:
XmlSerializer xs = new XmlSerializer(typeof(ProductInfoReqObject));

TextReader tr = new StringReader(ProductInfoReq.Request);

ProductInfoReqObject request = (ProductInfoReqObject)xs.Deserialize(tr);

会提示:XML 文档(1, 4)中有错误。 在 System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
在 System.Xml.Serialization.XmlSerializer.Deserialize(TextReader textReader)
在 IsmpVnetEngine.ISMPVnetEngine.IsmpVnetEngine.IIsmpVnetEngineSoapBinding.vnetProductInfo(VnetProductInfoReq vnetProductInfoReq)
...全文
149 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cf_nxcxy 2011-11-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 51crack 的回复:]
最烦你这种强调“分”的,你的分很值钱哪
[/Quote]
你头像不错
bkhm07 2011-11-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 51crack 的回复:]
最烦你这种强调“分”的,你的分很值钱哪
[/Quote]

不好意思,我比较急,之前发帖求助的时候都木有强调分,因为今天早上就要解决这个问题,所以说得太浮了
51Crack 2011-11-25
  • 打赏
  • 举报
回复
最烦你这种强调“分”的,你的分很值钱哪
bkhm07 2011-11-25
  • 打赏
  • 举报
回复
附上我定义的ProductInfoReqObject,是不是没有加上xml描述的问题
public class ProductInfoReqObject
{

public string streamingNo;

public string opFlag;

public string productID;

public string serviceID;

public string SPID;

public string chargingPolicyID;

public string status;

public string statusEffectiveTime;

public string chargingPolicyCN;

public string chargingPolicyEN;

public string corpOnly;

public string releaseTime;

public string subscriptionSyncFlag;

public int needCnfm;

public string packageFlag;

public string portalUseFlag;

public string sellFlag;

public string productDesc;

public string CRBTProductType;

[System.Xml.Serialization.XmlElementAttribute("accessNoAndfeatureStr")]
public AccessNoAndFeatureStrType[] accessNoAndfeatureStr;

public string[] chargingURL;

public string RRID;

public string productName;

public string trialFlag;

public string subEffectMode;

public string EffectTime;

public string withdrawEffectMode;

public string trialType;

public string trialTerm;

public string PayType;

public string isTrailInPeriod;
}


public class AccessNoAndFeatureStrType
{

public string accessNo;

public string accessNoMatchMode;

public string accessNoType;

public string featureStr;

public string featureStrType;

public string featureStrmatchMode;
}
Waldenz 2011-11-25
  • 打赏
  • 举报
回复
而且根节点必须是ProductInfoReqObject, xmls:xsi="**" xmlns:xsd="**"
其中**是任何不为空的值就行.这样格式的xml才能被反序列化.
Waldenz 2011-11-25
  • 打赏
  • 举报
回复
你的xml文件中的节点和ProductInfoReqObject类中的字段不匹配啊!!
还有要按序列化的xml文件的格式必须是:


<?xml version="1.0"?>
<ProductInfoReqObject xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<streamingNo>aaa</streamingNo>
<opFlag>e</opFlag>
.......
</ProductInfoReqObject>

这样就没问题了.

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧