Реляционная схема для XML-документа с заказчиками и заказами

если файл был создан путем

Если код XML содержит встроенную XML-схему, набор данных попытается использовать ее для установления реляционной схемы таблиц и отношений, а затем загрузит данные в эту схему. Если файл был создан путем сохранения существующего набора данных, то при его чтении все будет нормально. Однако не всякий XML-файл подходит для загрузки в набор данных. Если его схема такова, что один и тот же тип элемента может появляться на различных уровнях иерархии, то при попытке загрузить документ в набор данных вы получите исключение ArgumentException, Поскольку набору данных не удастся привести его к реляционной схеме. Например, если бы вы в листинге Г.1 добавили элемент Customers в качестве дочернего для элемента Orders и попытались прочитать файл методом ReadXml, Было бы выброшено ArgumentException. Кроме того, если имеет место собственно недопустимый XML, при вызове ReadXml Будет выброшено XmlException, Поэтому определенно следует заключить вызов ReadXml В блок обработчика исключения. Вы можете заполнить набор данных одним из трех основных способов: либо загрузив его из файла, либо программно, либо через запрос к базе данных. В. NET 2.0 вы можете также работать с объектами DataTable Изолированно от набора данных, а также загружать таблицу при помощи считывателя данных методом Load. Давайте будем двигаться от простейшего способа к наиболее сложному, и начнем с загрузки и сохранения наборов данных в файлах, а именно XML-файлах. Метод ReadXml Может принимать путь к файлу, открытый объект потока или объект считывателя XML или текста. Он также принимает необязательное перечисление XmlReadMode, Которое управляет выведением схемы и чтением из XML.