我正在使用XDocument讀取XML文件並將其加載到類中。每個「站點」節點都應該是一個「標籤」節點是其中的List的類。我無法將「標籤」元素作爲列表加載到類中。將XML讀取到包含列表的類中<Class>
下面是類:
public class Site
{
public string name;
public string prefix;
public List<Tag> tags;
}
public class Tag
{
public string Name { get; set; }
public string Column { get; set; }
}
這是裝載XML數據到類的代碼:使用以下XML示例
settings = XDocument.Load("settings.xml");
IEnumerable<Site> sites = settings.Descendants("site").Select(x => new Site()
{
name = x.Element("name").Value,
prefix = x.Element("prefix").Value,
// How to load the "tag" elements into a List<Class>?
});
:
<settings>
<site>
<name>name1</name>
<prefix>prefix1</prefix>
<tags>
<tag column="col1">tag1</tag>
<tag column="col2">tag2</tag>
<tag column="col3">tag3</tag>
</tags>
</site>
<site>
<name>name2</name>
<prefix>prefix2</prefix>
<tags>
<tag column="col1">tag1</tag>
<tag column="col2">tag2</tag>
<tag column="col3">tag3</tag>
</tags>
</site>
</settings>
由於。
您是否考慮過使用[XmlSerializer](http://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlserializer.aspx)? –
我最初使用的是XmlDocument,但是在做更高級的XML讀取時,我讀到XDocument更容易使用,我發現這是真的。使用XmlDocument有什麼好處? – Fase
是的,我會選擇XDocument over XmlDocument;我建議** XMLSerializer **,它爲您做序列化,而不是爬行XML。 –