【发布时间】:2014-04-02 22:39:24
【问题描述】:
我有 Prospect 和 contact 课程。我需要以 2 种差异格式在 2 个差异位置使用序列化前景。第一种格式是使用 XML 序列化的 API 方法实现的。对于第二个,我必须显示编辑器的前景,它有不同的模式。所有属性都显示为独立的元素,例如下面的 XML。
格式#1
<prospect>
<ID>1</ID>
<REPNAME>TEST</REPNAME>
<contact>
<FNAME>TEST-FNAME</FNAME>
<LNAME>TEST-LNAME</LNAME>
</contact>
</prospect>
格式#2
<prospect>
<Elemant Name="ID" value="1" />
<Element Name="REPNAME" value="TEST" />
<contact>
<Element Name="FNAME" value="TEST-FNAME" />
<Element Name="LNAME" value="TEST-LNAME" />
</contact>
</prospect>
[XmlElement(Prospect)]
public class prospect
{
private string id, repName;
private contact c;
[xmlElement(PID)]
public string ID {}
[xmlElement(RepresentName)]
public string REPNAME {}
}
[XmlElement(Contact)]
public contact Con
{
private string fname,lname;
[xmlElement(FirstName)]
public string FNAME {}
[xmlElement(LastName)]
public string LNAME {}
}
我的问题是 - 通过添加 Element (seializable) 类型的 Prospect & Contact 类,我可以实现序列化 XML 的 2 种差异格式吗?我需要做什么?我应该能够在两种格式之间进行转换。我不想添加新的数据对象集来实现 2 种格式。如果我编写了一个 xml 自定义序列化器,那么在所有这些选项中最好的选择是什么。
【问题讨论】:
标签: c# xml xslt serialization xml-serialization