如何解决将 XML 数据作为类对象传递
我有一个将类对象作为输入的发布方法。该类是通过将 XML 转换为 C# 类而创建的。
现在,我正在尝试在本地计算机上测试此发布方法,但我没有将数据作为元素。我所拥有的只是巨大的 XML 数据。如何将此 XML 数据作为类对象传递给发布方法?
请帮忙。
发布方式
public SwsDefaultOut HechPublish(createupdatePerson_Output createUpdatePersonOutput)
{
ThreadPool.QueueUserWorkItem(CallBackHechPublish,createUpdatePersonOutput);
long transactionId = -1;
if (createUpdatePersonOutput != null && !long.TryParse(createUpdatePersonOutput.HechPublishId,out transactionId))
transactionId = -1;
return new SwsDefaultOut { TransactionId = transactionId };
}
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml","4.7.3190.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true,Namespace="http://xmlns.oracle.com/apps/mdm/customer")]
public partial class createupdatePerson_Output : object,System.ComponentModel.INotifyPropertyChanged {
private string hechPublishIdField;
private string error_spcCodeField;
private string error_spcMessageField;
private string externalSystemIdField;
private string object_spcIdField;
private SCC_CONSTITUENT_IN_SYNC_DS sCC_CONSTITUENT_IN_SYNC_DSField;
......
}
解决方法
您可以将 HechPublish
方法设置为接受 string
而不是您要反序列化的类型。
例如
public SwsDefaultOut HechPublish(string createUpdatePersonOutputXml)
我认为只要 HechPublish
参数是有效的 Xml,就应该将 createUpdatePersonOutputXml
方法更新为如下所示的内容。
public SwsDefaultOut HechPublish(string createUpdatePersonOutputXml)
{
var serializer = new XmlSerializer(typeof(createupdatePerson_Output));
createupdatePerson_Output createUpdatePersonOutput;
using (TextReader reader = new StringReader(createUpdatePersonOutputXml))
{
createUpdatePersonOutput = (createupdatePerson_Output)serializer.Deserialize(reader);
}
ThreadPool.QueueUserWorkItem(CallBackHechPublish,createUpdatePersonOutput);
long transactionId = -1;
if (createUpdatePersonOutput != null && !long.TryParse(createUpdatePersonOutput.HechPublishId,out transactionId))
transactionId = -1;
return new SwsDefaultOut { TransactionId = transactionId };
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。