![](/img/trans.png)
[英]C# XML to LINQ multiple elements with same name, how to get them to save in same object
[英]multiple XML serilizations on same object in C#
我有潛在客戶和聯絡人課程。 我需要在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(可序列化)類型的Prospect&Contact類,我可以實現2種diff格式的序列化XML嗎? 我需要做什么? 我應該能夠在兩種格式之間轉換。 我不想添加新的數據對象集來實現2種格式。 如果我已經編寫了xml自定義seriliazer,那么在所有這些選項中最好的選擇是什么。
您必須為兩個不同的序列化編寫一個自定義的序列化程序。 如果只想在一個類中序列化所有類,則可以編寫一個通用的序列化類。 為此,可以使用System.Xml.Serilization命名空間中的XmlSerializer類。
樣例代碼:
XmlSerializer serializer = new XmlSerializer(typeof(T)); serializer.Serialize(writer, obj);
有關更多信息和示例:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.