这是我的 xml 文件;
<UserClass>
<Id>1</Id>
<Name>oss</Name>
<Address>
<Id>1</Id>
<Street>asstreet</Street>
</Address>
</UserClass>
所以我想将这些“节点”添加到组合框项目中。当用户键入 UserClass 并键入“.”(点)到“UserClass”的末尾时;Id、Name 和其他东西必须在组合框中列出。
用户键入“UserClass”。和 -> 组合框得到这些;
UserClass.Id
UserClass.Name
UserClass.Address.Id
UserClass.Address.Street
我尝试了很多东西,包括那个;
...
try
{
string parsedNode = ParseComboBox();
XmlReader rdr = XmlReader.Create(new System.IO.StringReader(_globalXml));
comboBox1.Items.Clear();
while (rdr.Read())
{
if (rdr.NodeType == XmlNodeType.Element)
{
comboBox1.Items.Add(rdr.LocalName);
}
comboBox1.DroppedDown = true;
}
//string parsedNode = ParseComboBox();
//XmlNodeList childList = xml.GetElementsByTagName(parsedNode);
////comboBox1.Items.Clear();
//foreach (XmlNode node in childList)
//{
// foreach (var osman in node.ChildNodes)
// {
// comboBox1.Items.Add(parsedNode + "." + osman);
// }
//}
}
catch (Exception)
{
MessageBox.Show("fuuu");
}
}...
private string ParseComboBox()
{
string resultAsXmlNodes = null;
string text = comboBox1.Text;
if (text.EndsWith("."))
{
char[] delimiterChars = { '.' };
string[] words = text.Split(delimiterChars);
foreach (string s in words)
{
resultAsXmlNodes += s;
}
}
return resultAsXmlNodes;
}
它无法正常工作。我相信有一种简单的方法可以做到这一点。那么,简单的方法是什么?或者简单地说,如何在 comboBox 中显示节点名称?