XmlTextReader извлечь определенную информацию - C#

Узнай цену своей работы

Формулировка задачи:

нужно получить поочереди информацию из хмл файла
Листинг программы
  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <table>
  3. <row row="1">
  4. <cell cell0="0" />
  5. <cell cell1="142" />
  6. <cell cell2="147" />
  7. <cell cell3="2400" />
  8. </row>
  9. <row row="2">
  10. <cell cell0="0" />
  11. <cell cell1="141" />
  12. <cell cell2="146" />
  13. <cell cell3="3720" />
  14. </row>
  15. <row row="3">
  16. <cell cell0="0" />
  17. <cell cell1="139" />
  18. <cell cell2="147" />
  19. <cell cell3="4680" />
  20. </row>
  21. <row row="4">
  22. <cell cell0="0" />
  23. <cell cell1="142" />
  24. <cell cell2="150" />
  25. <cell cell3="1560" />
  26. </row>
  27. </table>
есть пример на c#
Листинг программы
  1. OpenFileDialog dlg = new OpenFileDialog();
  2. dlg.Filter = "Файлы XML (*.xml)|*.xml"; if (dlg.ShowDialog() ! = DialogResult.OK)
  3. return;
  4. XmlTextReader reader = null;
  5. orders.Clear();
  6. try
  7. {
  8. reader = new XmlTextReader(dlg.FileName);
  9. reader.WhitespaceHandling = WhitespaceHandling.None; // пропускаем пустые узлы
  10. while (reader.Read())
  11. if (reader.NodeType == XmlNodeType.Element)
  12. if (reader.Name == "Заказ")
  13. {
  14. Order order = new Order(reader.GetAttribute("Адрес"), DateTime.Parse(reader.GetAttribute("Дата")));
  15. // получаем товары в заказе
  16. while (reader.Read() && reader.Name == "Товар")
  17. order.AddGood(reader.GetAttribute("Название"), float.Parse(reader.GetAttribute("Цена")));
  18. orders.Add(order);
  19. }
  20. ShowOrders();
  21. }
  22. catch (Exception ex)
  23. {
  24. MessageBox.Show("Ошибка: " + ex.Message);
  25. }
  26. finally
  27. {
  28. if (reader != null)
  29. reader.Close();
  30. }
но как прикрутить к моему случаю не могу понять

Решение задачи: «XmlTextReader извлечь определенную информацию»

textual
Листинг программы
  1. XmlTextReader reader = new XmlTextReader ("newbooks.xml");
  2.             reader.WhitespaceHandling = WhitespaceHandling.None; // пропускаем пустые узлы
  3.             while (reader.Read())
  4.             {
  5.                
  6.                     if (reader.Name == "row" || reader.Value == "1")
  7.                     {
  8.                         reader.MoveToAttribute("cell0");
  9.  
  10.                         this.textBox11.Text = reader.Value.ToString();
  11.                         this.textBox10.Text = reader.Name.ToString();
  12.                        
  13.                     }
  14.                
  15.             }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы