[英]Simplest way to deserialize an Array/Sequence of objects from XML with C#?
我有一個Foo
類(假設using
指令正確)
namespace Example
{
[XmlRoot("foo")]
class Foo
{
public Foo() {}
[XmlElement("name")]
public string Name;
}
}
XmlSerializer可以像這樣處理XML,以產生Foo
類型的對象
<foo>
<name>BOSS</name>
</foo>
使XmlSerializer處理這種形式的XML所需的最小工作量是什么,
<foos>
<foo>
<name>BOSS</name>
</foo>
<foo>
<name>NOT A BOSS</name>
</foo>
</foos>
並產生一個Foo
對象數組?
編輯:
我如何針對單個Foo
:
var xr = new XmlTextReader("foo.xml");
var xs = new XmlSerializer(typeof(Foo));
var a = (Foo) xs.Deserialize(xr);
Foo[]
潛在示例
var xr = new XmlTextReader("foos.xml");
var xs = new XmlSerializer(typeof(Foo[]));
var a = (Foo[]) xs.Deserialize(xr);
據我所知,最簡單的方法。 添加另一個類Foos並從類Foo中刪除xmlroot標記。
namespace Example
{
[XmlRoot("foos")]
class Foos
{
public Foos() {}
[XmlElement("foo")]
public List<Foo> FooList {get; set;}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.