Как получить данные и хотите прочитать данные из XML в C # - PullRequest
1 голос
/ 30 марта 2010

Я использую приложение Windows, и у меня есть четыре поля со списком (comboeventname, combosendtype, comboType, comboschedule) в этой форме .... Я сохранил эти значения со списком в файл XML с помощью средства записи XML ... Теперь я хочу отображать данные в этих полях со списком в событии загрузки формы, когда форма открывается во время выполнения ... Как извлечь эти значения из этого файла XML и как отобразить эти данные в полях со списком во время выполнения? Как мне это сделать?

Кто-нибудь скажи мне решение этого .....

Заранее спасибо ...

Ответы [ 4 ]

2 голосов
/ 30 марта 2010

Мы, вероятно, можем заставить XmlReader работать, если вы покажете XML или код, который вы использовали для его написания, но я не уверен, что это лучший вариант здесь. Предположительно, чтобы отобразить их в выпадающем списке, объем данных не огромен. В этом случае было бы намного проще использовать любой из:

  • XmlDocument
  • XDocument
  • XmlSerializer

и т. Д. Для загрузки данных в DOM или объектную модель и работы с ними. LINQ-to-XML (через XDocument) может быть особенно привлекательным. Например, с xml:

<options>
  <option value='123'>ABC</option>
  <option value='234'>DEF</option>
  <option value='567'>GHI</option>
</options>

Код XDocument, как показано ниже, может работать:

var options =
      from option in XElement.Parse(xml).Elements("option")
      select new {
         value = (int)option.Attribute("value"),
         text = option.Value
      };
0 голосов
/ 30 марта 2010

Я использовал до сопоставления xsd для генерации сопоставления классов для документа xml. В командной строке visual studio используйте команды xsd, как показано ниже. Это сгенерирует класс отображения, а затем Вы должны десериализовать XML-файл на объект и привести к сгенерированному классу отображения.

xsd "путь к файлу xml", который генерирует xsd файл

чем снова командная строка xsd "пат сгенерированного файла xsd" / CLASSES

для подробностей смотрите образец

0 голосов
/ 30 марта 2010

Я бы предложил использовать XmlReader. Вокруг много документации, но вот начало:

http://msdn.microsoft.com/en-us/library/9d83k261%28VS.80%29.aspx

Когда у вас есть данные, вы можете добавить их в элементы управления вашей формы.

В качестве альтернативы вы можете использовать XmlDocument - хотя он не работает так же хорошо, как XmlReader. Я сомневаюсь, что вы заметите в этой ситуации.

0 голосов
/ 30 марта 2010

Возможно, намного проще использовать XmlDocument или XDocument.

XmlDocument: http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.selectsinglenode.aspx

private void Form1_Load(object sender, EventArgs e)
        {
            //load the xml document;

            XmlDocument xdoc = new XmlDocument;
            xdoc.Load("YourFile.xml");


            // read the values

            // using indexers
            method1 = xdoc["root"]["Element"].Value;

            // using xpath to select nodes
            method2 = xdoc.SelectSingleNode( "root/element/element" ).Value;

            // attributes
            method3 = xdoc.SelectSingleNode("root/element").Attributes["YourAttribute"].Value;

        }

XmlReader лучше использовать для больших файлов XML, с тысячами элементов, где вы не хотите загружать весь документ в память. Ваш документ звучит слишком мало для использования XmlReader.

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