Как загрузить данные из XML с условием? - PullRequest
0 голосов
/ 12 сентября 2009

Как я могу загрузить данные из XML-файла в DataTable с условием?

Ответы [ 2 ]

1 голос
/ 12 сентября 2009

Вы не можете применить условие при загрузке данных.

Вы можете легко загрузить файл XML в DataTable, а затем либо

  • создайте DataView поверх DataTable, чтобы показать вам только те строки, которые вам интересны
  • переберите DataTable и удалите ненужные строки

Марк

0 голосов
/ 13 сентября 2009

Самый простой способ сделать это - отфильтровать данные после считывания в DataTable. Но такой подход может быть не идеальным, если, например, файл XML очень большой, а набор отфильтрованных строк невелик: вы несете затраты времени и пространства на выделение, обработку и уничтожение очень большого числа объектов, чтобы получить небольшое количество из них.

Есть способ обойти это, но это не тривиально: подкласс XmlReader. Выполните фильтрацию в подклассе, так как он читает XML, возвращая только узлы, которые соответствуют вашим критериям фильтрации, вызывающей стороне метода Read().

В этой статье MSDN описывается, как написать XmlReader, который позволяет (скажем) XmlDocument читать файлы .INI, как если бы они были документами XML. На самом деле проще написать фильтрацию XmlReader, так как вам не нужно разбираться со всеми проблемами синтаксического анализа, описанными в этой статье - у вас просто есть XmlReader, чтобы создать свой собственный подкласс XmlReader, а затем вернуть (или не) узлы, которые он читает.

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