将XML加载到下拉列表中C#
我是新来的XML和C#。 我想从XML文件中加载一个包含特定项目的下拉列表。 我想填写cityname = City1(Person1,Person2,Person3和Person4)的所有人员。 问题在于,所有人都显示在单行上的下拉框中,而不是每行上的一个人。
请帮帮我
这是我的XML:
<country>
<city>
<cityname>City1</cityname>
<citynr>111</citynr>
<person>
<name>Person1</name>
<name>Person2</name>
<name>Person3</name>
<name>Person4</name>
</person>
<major>
<firstname>Major1firstname</firstname>
<lastname>Major1lastname</lastname>
</major>
</city>
<city>
<cityname>City2</cityname>
<citynr>222</citynr>
<person>
<name>Person5</name>
<name>Person6</name>
<name>Person7</name>
<name>Person8</name>
</person>
<major>
<firstname>Major2firstname</firstname>
<lastname>Major2firstname</lastname>
</major>
</city>
</country>
我的代码:
XElement country = XElement.Load(Server.MapPath("myXML.xml"));
XElement city = (
from p in country.Elements("city")
where p.Element("cityname").Value == "City1"
select p
).First();
dropDownList.Items.Add(city.Element("person").Value);
从关于XElement.Value的MSDN文档:
获取或设置此元素的连接文本内容。
根据你的XML结构你应该做什么:
XElement persons = city.Element("person");
foreach (XElement person in persons.Elements("name"))
{
dropDownList.Items.Add(person.Value);
}
链接地址: http://www.djcxy.com/p/51375.html