16,554
社区成员
发帖
与我相关
我的任务
分享
<?xml version="1.0" encoding="utf-8"?>
<Menu>
<Class Layer="1" Index="0" Name="皖">
<City Layer="2" Index="0" Name="10000">
</City>
<City Layer="2" Index="1" Name="10001">
</City>
<City Layer="2" Index="2" Name="10002">
</City>
</Class>
<Class Layer="1" Index="1" Name="浙">
<City Layer="2" Index="0" Name="20000">
</City>
<City Layer="2" Index="1" Name="20001">
</City>
<City Layer="2" Index="2" Name="20002">
</City>
</Class>
<Class Layer="1" Index="2" Name="冀">
<City Layer="2" Index="0" Name="30000">
</City>
<City Layer="2" Index="1" Name="30001">
</City>
<City Layer="2" Index="2" Name="30002">
</City>
</Class>
</Menu>
Public Class MyMenu
Public Property Name() As String
Public Property Value() As String
End Class
Private Menus As New List(Of MyMenu)
Public Sub GetMenus()
comboBox1.Items.Clear()
Dim xmlFilePath As String = "menu.xml"
Dim doc As New XmlDocument()
doc.Load(xmlFilePath)
Menus.Clear()
Dim ClassNodeList As XmlNodeList = doc.SelectNodes("/Menu/Class")
For Each item As XmlNode In ClassNodeList
Dim Name As String = item.Attributes("Name").Value
Dim CityNodes As XmlNodeList= item.ChildNodes
For Each CityItem As XmlNode In CityNodes
Dim MenuItem As New MyMenu()
MenuItem.Name = Name
MenuItem.Value = CityItem.Attributes("Name").Value
Menus.Add(MenuItem)
Next CityItem
comboBox1.Items.Add(Name)
Next item
End Sub
Private Sub comboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
comboBox2.Items.Clear()
comboBox2.Text = ""
Dim aa = Menus.Where(Function(p) p.Name = comboBox1.Text)
For Each item In aa
comboBox2.Items.Add(item.Value)
Next item
End Sub
List<MyMenu> Menus = new List<MyMenu>();
public class MyMenu
{
public string Name { set; get; }
public string Value { set; get; }
}
Public void GetMenus()
{
comboBox1.Items.Clear();
string xmlFilePath = "menu.xml";
XmlDocument doc = new XmlDocument();
doc.Load(xmlFilePath);
Menus.Clear();
XmlNodeList ClassNodeList = doc.SelectNodes("/Menu/Class");
foreach (XmlNode item in ClassNodeList)
{
string Name = item.Attributes["Name"].Value;
XmlNodeList CityNodes= item.ChildNodes;
foreach (XmlNode CityItem in CityNodes)
{
MyMenu MenuItem=new MyMenu();
MenuItem.Name = Name;
MenuItem.Value = CityItem.Attributes["Name"].Value;
Menus.Add(MenuItem);
}
comboBox1.Items.Add(Name);
}
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
comboBox2.Items.Clear();
comboBox2.Text = "";
var aa = Menus.Where(p => p.Name == comboBox1.Text);
foreach (var item in aa)
{
comboBox2.Items.Add(item.Value);
}
}