我的XML:的LINQ to XML加空項目爲對象名單
<Configuration>
<LaunchDebugger>false</LaunchDebugger>
<RequestFolder>./Request</RequestFolder>
<ResponseFolder>./Response</ResponseFolder>
<Countries>
<Country NumericCode="1FH" FileName="file1.xml">1</Country>
<Country NumericCode="20H" FileName="file2.xml">2</Country>
<Country NumericCode="" FileName="file3.xml">3</Country>
</Countries>
</Configuration>
國家類:
public class Country
{
public String Name { get; set; }
public String NumericCode { get; set; }
public String FileName { get; set; }
}
這是使用LINQ我如何從它創建對象:
CountryList = (from filter in Configuration.Descendants("Countries").Descendants("Country")
select new Country()
{
Name = (string)filter.Value,
NumericCode = (string)filter.Attribute("NumericCode"),
FileName = (string)filter.Attribute("FileName")
}).ToList();
解析xml的作品,我得到我的列表中的所有3個國家,但我也得到一個額外的空對象作爲列表的最後一項。
任何想法,爲什麼會是這樣嗎?
你不必強迫'filter.Value'到' string';它足以單獨強制「過濾器」 - 「(字符串)過濾器」(請參閱[這裏](http://msdn.microsoft.com/en-us/library/bb387049.aspx))。 –
@ZevSpitz:謝謝你指出。 – hs2d