добавить имена узлов из XML-файла в комбинированный список, используя c # - PullRequest
0 голосов
/ 11 мая 2010

Я использую c # .net окна формы приложения. У меня есть XML-файл, который содержит много узлов. Как я могу получить имена этих узлов в поле со списком. По возможности избегайте повторяющихся имен.

Ответы [ 3 ]

0 голосов
/ 11 мая 2010

Вы можете сделать это, используя LINQ to XML:

combobox.DataSource = XDocument.Load(path)
        .Descendants
        .Select(n => n.Name.LocalName)
        .Distinct()
        .ToArray();
0 голосов
/ 11 мая 2010

Это должно соответствовать вашим потребностям без использования LINQ и т. Д .:

        foreach (XmlNode node in my_XML_Doc)
        {
            if (!ComboBox1.Items.Contains(node.Name))
            {
                ComboBox1.Items.Add(node.Name);
            }
        }
0 голосов
/ 11 мая 2010

Если вы используете .NET 3.5, вы можете использовать LINQ to XML для выбора узлов.

В качестве альтернативы или, если вы не используете .NET 3.5, вы можете использовать System.Xml.XPath для выбора узлов.

После выбора узлов вы можете использовать foreach для них и вставлять их один за другим в этот цикл. Кроме того, если они хранятся в List<>, вы можете использовать ForEach для более чистого кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...