[英]How to serialize Array of object
As shown here http://msdn.microsoft.com/en-us/library/szzyf24s%28v=vs.110%29.aspx , we can generate xml of object: 如此处http://msdn.microsoft.com/en-us/library/szzyf24s%28v=vs.110%29.aspx所示,我们可以生成对象的xml:
MySerializableClass myObject = new MySerializableClass();
// Insert code to set properties and fields of the object.
XmlSerializer mySerializer = new
XmlSerializer(typeof(MySerializableClass));
// To write to a file, create a StreamWriter object.
StreamWriter myWriter = new StreamWriter("myFileName.xml");
mySerializer.Serialize(myWriter, myObject);
myWriter.Close();
This is working fine, but now I am having Listof MySerializableClass 这工作正常,但现在我有了Listof MySerializableClass
List<Object> lObj = new List<Object>();
Person obj1 = new Person ();
Person obj2 = new Person ();
lobj.add(obj1);
lobj.add(obj2);
CreateXMLOFList(lobj);
Can you suggest me to write a function which can generate single XML of List of collection: 您可以建议我编写一个可以生成集合列表的单个XML的函数:
example: 例:
<Person>
<Name>
Joy
</Name>
</Person>
<Person>
<Name>
Steive
</Name>
</Person>
here Person
is a class and Name
is a property. 这里
Person
是一个类, Name
是一个属性。
By default, the .NET XmlSerializer
will generate an ArrayOfItem
element when serializing a List<T>
. 默认情况下,.NET
XmlSerializer
在序列化List<T>
时将生成ArrayOfItem
元素。
You can circumvent this by creating an own class that derives from List<T>
: 您可以通过创建一个从
List<T>
派生的类来规避此问题:
[Serializable]
public class Persons : List<Person>
{
}
Or, when it is a property, mark the XmlElement
with a name: 或者,当它是属性时,用名称标记
XmlElement
:
[XmlElement("Persons")]
public List<Person> Persons
{
get;
set;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.