XmlSerializer
साथ बातें या तो सूचियों या वे सदस्य हैं। कि आप की आवश्यकता करने के लिए:
[XmlRoot("myroot")]
public class MyRoot {
[XmlElement("items")]
public MyListWrapper Items {get;set;}
}
public class MyListWrapper {
[XmlAttribute("attr1")]
public string Attribute1 {get;set;}
[XmlAttribute("attr2")]
public string Attribute2 {get;set;}
[XmlElement("item")]
public List<MyItem> Items {get;set;}
}
public class MyItem {
[XmlAttribute("id")]
public int Id {get;set;}
}
उदाहरण के साथ:
var ser = new XmlSerializer(typeof(MyRoot));
var obj = new MyRoot
{
Items = new MyListWrapper
{
Attribute1 = "hello",
Attribute2 = "world",
Items = new List<MyItem>
{
new MyItem { Id = 1},
new MyItem { Id = 2},
new MyItem { Id = 3}
}
}
};
ser.Serialize(Console.Out, obj);
उत्पन्न करता है जो:
<myroot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://
www.w3.org/2001/XMLSchema">
<items attr1="hello" attr2="world">
<item id="1" />
<item id="2" />
<item id="3" />
</items>
</myroot>
आप निश्चित रूप से अगर आप चाहते हैं xsi
/xsd
नाम स्थान उपनाम निकाल सकते हैं।
स्रोत
2011-06-28 08:46:33
यदि मेरी समझ सही है, तो क्या आप आइटम क्लास नहीं बना सकते हैं जिसमें आइटम क्लास का संग्रह है? – Novice
यह सही है, लेकिन आइटम तत्व में गुण होना चाहिए। – Sprintstar
हां, क्या हम वस्तुओं की कक्षा के अंदर भी अन्य गुणों को परिभाषित नहीं कर सकते हैं? – Novice