【发布时间】:2015-04-13 04:01:14
【问题描述】:
给定以下 XML:
<browser>
<firefox company="mozilla"></firefox>
<chrome company="google"></chrome>
<ie company="microsoft"></ie>
</browser>
这是我的反序列化代码:
[XmlRoot("browser")]
public class Browser
{
//--List or Array
List<BrowserType> browserTypes {get; set;}
}
public class BrowserType
{
[XmlAttribute("company")]
public string company {get; set;}
}
XmlSerializer xmlSerializer = new XmlSerializer(typeof(Browser));
StreamReader sr = new StreamReader("browser.xml");
Browser browser = (Browser )xmlSerializer.Deserialize(sr);
foreach(var item in browserTypes)
{
//--List browser types
}
对于这个问题,我无法为 XmlArrayItem 执行以下代码,因为我不知道元素名称。
[XmlArray("browser")]
[XmlArrayItem("firefox")]
public BrowserType[] BrowserTypes{ get; set; }
如何将未知的xml元素反序列化为数组或列表?
【问题讨论】:
标签: c# xml xml-parsing xml-deserialization