0
鑑於這種XML:的XmlSerializer:反序列化字符串數組
<Items>
<Item>a</Item>
<Item>b</Item>
</Items>
我如何反序列化這個使用XmlSerializer
?或者放入一些自定義類型的數組中,或者簡單地放入一個string[]
。
我知道這可以完成如果最內層的標籤被稱爲「字符串」,但我想保留一個自定義名稱。
鑑於這種XML:的XmlSerializer:反序列化字符串數組
<Items>
<Item>a</Item>
<Item>b</Item>
</Items>
我如何反序列化這個使用XmlSerializer
?或者放入一些自定義類型的數組中,或者簡單地放入一個string[]
。
我知道這可以完成如果最內層的標籤被稱爲「字符串」,但我想保留一個自定義名稱。
這裏有一種方法表明其LINQPad使用XmlSerializer
void Main()
{
using(var stream = new StringReader("<Items><Item>a</Item><Item>b</Item></Items>"))
{
var serializer = new XmlSerializer(typeof(Container));
var items = (Container)serializer.Deserialize(stream);
items.Dump();
}
}
[XmlRoot("Items")]
public class Container
{
[XmlElement("Item")]
public List<string> Items { get; set; }
}
這是一個使用的XDocument
void Main()
{
var doc = XDocument.Parse("<Items><Item>a</Item><Item>b</Item></Items>");
var list = doc.Element("Items").Elements("Item").Select (d => (string)d);
list.Dump();
}
另一種方式