2013-10-31 48 views
1

我想將所有城市名稱添加到下拉列表中。在我的代碼中,我只加載了第一個名字。我如何更改代碼以便全部獲取?將XML加載到下拉列表中C#

我的XML:

<country> 
    <city> 
    <cityname>Cannes</cityname> 
    <cityid>123</cityid> 
    </city> 
    <city> 
    <cityname>Paris</cityname> 
    <cityid>123</cityid> 
    </city> 
    <city> 
    <cityname>Nice</cityname> 
    <cityid>123</cityid> 
    </city> 
    <city> 
    <cityname>Marseilles</cityname> 
    <cityid>123</cityid> 
    </city> 
</country> 

我的代碼:

XElement country= XElement.Load(Server.MapPath("myXML.xml")); 


foreach (XElement name in country.Element("city").Elements("cityname")) 
{ 
    dropdownList.Items.Add(name.Value); 
} 
+1

你缺少一個複數的「s」在你的循環城市獲得。 – nvoigt

+1

您需要獲取「country」的節點,然後遍歷「city」條目。 – germi

回答

2

你在你的代碼忘了一個簡單的 'S'。

我只是測試它和這個作品:

XElement country= XElement.Load(Server.MapPath("myXML.xml")); 

foreach (XElement name in country.Elements("city").Elements("cityname")) 
{ 
    dropdownList.Items.Add(name.Value); 
} 

親切的問候,