Zho*_*len 1 c# xml serialization deserialization
我有一个旧系统,它在请求信息调用中返回xml,其名称如下所示:
postalCodeField,firstNameField ...
那个系统然后有一个修改调用,它接受xml,如下所示:
PostalCode,fistName,lastName ....
有没有办法构建一个反序列化请求的对象,但是用不同的名称序列化xml输出?
特别:
public class RequestInfo
{
public string firstNameField{get;set;}
public string lastNameField{get;set;}
}
public class ModifyInfo
{
public string firstName{get;set;}
public string lastName{get;set;}
public ModifyInfo(){}
public ModifyInfo(RequestInfo ri)
{
firstName = ri.firstNameField
.....
}
}
Run Code Online (Sandbox Code Playgroud)
是否有通过说属性的方法使这些成为同一个对象?
编辑
有没有办法让一个对象在反序列化时接受一个标记名称,然后在序列化上输出一个不同的名称?
<myTagField />(反序列化)myObj.MyTag(序列化为)<MyTag />
重要的是要注意您正在使用的实际序列化程序.每个不同的序列化程序的工作方
我假设你正在使用System.Xml.Serialization.XmlSerializer
.如果是这种情况,那么您希望使用System.Xml.Serialization
命名空间中的属性,例如XmlElementAttribute,如下所示:
public class Person
{
[System.Xml.Serialization.XmlElement(ElementName = "firstNameField")]
public string FirstName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
这假定该字段是XML元素.如果是属性,请使用该XmlAttribute
属性.
归档时间: |
|
查看次数: |
4250 次 |
最近记录: |