2

タグ名が「Event」のすべてのノードの属性値をWindowsFormのcomboBoxに取得しようとしています。以下でこのコードを試しましたが、comboBoxには何も入力されていません。

 if (selectEventComboBox.SelectedIndex != -1)
    {
        string filePath = 
              Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) 
              + "\\" + selectFileComboBox.SelectedItem.ToString() 
              + "dogs.xml";
        XmlDocument doc = new XmlDocument();
        doc.Load(filePath);

        XmlNodeList eventList = doc.GetElementsByTagName("Event");
        for (int count = 0; count < eventList.Count; count++)
        {
            selectEventComboBox.Items.Add(eventList[count].Attributes.ToString());
        }
    }
4

1 に答える 1

3

これはうまくいきます

XmlDocument doc = new XmlDocument();
doc.Load("myxml.xml");
XmlNode root = doc.DocumentElement;
XmlNodeList nodeList = root.SelectNodes("//Event");

for (int i = 0; i < nodeList.Count; i++)
{
    Console.WriteLine("row: {0}, InnerText: {1}, ID: {2}",i, nodeList[i].InnerText, nodeList[i].Attributes["id"].Value);
}

myxml.xml の内容

<?xml version="1.0" encoding="utf-8" ?>
<root>
    <Event id="1">Event one</Event>
    <Event id="2">Event two</Event>
    <Event id="3">Event three</Event>
    <Event id="4">Event four</Event>
</root>

ここに画像の説明を入力

于 2012-08-08T15:50:07.090 に答える