<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)
<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)
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;
}
还有要按序列化的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>这样就没问题了.
其中**是任何不为空的值就行.这样格式的xml才能被反序列化.