<area Country="China">
<province ID="1" provinceID="110000" province="北京">
<City CityID="110100" City="北京">
<Piecearea PieceareaID="110101" Piecearea="东城区"/>
<Piecearea PieceareaID="110102" Piecearea="西城区"/>
<Piecearea PieceareaID="110105" Piecearea="朝阳区"/>
<Piecearea PieceareaID="110106" Piecearea="丰台区"/>
<Piecearea PieceareaID="110107" Piecearea="石景山区"/>
<Piecearea PieceareaID="110108" Piecearea="海淀区"/>
<Piecearea PieceareaID="110109" Piecearea="门头沟区"/>
<Piecearea PieceareaID="110111" Piecearea="房山区"/>
<Piecearea PieceareaID="110112" Piecearea="通州区"/>
<Piecearea PieceareaID="110113" Piecearea="顺义区"/>
<Piecearea PieceareaID="110114" Piecearea="昌平区"/>
<Piecearea PieceareaID="110115" Piecearea="大兴区"/>
<Piecearea PieceareaID="110116" Piecearea="怀柔区"/>
<Piecearea PieceareaID="110117" Piecearea="平谷区"/>
<Piecearea PieceareaID="110228" Piecearea="密云县"/>
<Piecearea PieceareaID="110229" Piecearea="延庆县"/>
</City>
</province>
</area >
怎么读取省下面的市啊?根据选择不同的省显示不同的市?
cbcity.Items.Clear();
string xpath = string.Format("/area/province/{0}/City", cbprovince.SelectedItem.ToString());
XmlNodeList cities = doc.SelectNodes(xpath);
cbcity.Items.Add("不限");
foreach (XmlNode city in cities)
{
cbcity.Items.Add(city.Attributes["City"].Value);
}
if (cbcity.Items.Count > 0)
{
cbcity.SelectedIndex = 0;
}
这样写为什么不可以啊?应该怎么改啊?
xpath明显写错了
我不知道 cbprovince.SelectedItem.ToString() 到底是什么,所以我这里给你个例子
那我写的不对吗?为什么没有呢???cities的count是0?
追答说实话,用XmlDocument操作xml的方法,在微软.net3.5之后就不推荐了。不方便而且代码不够简洁。
你先看一下我理解的你的要求对不对?如果对的话,我给出推荐的实现方式
顺带偷偷告诉你XmlDocument操作xml,我已经不会了。
System.Xml.Linq