Поддержка XML в программе Access

 

Язык XML — это прекрасный способ обмена данными между разными компьютерными программами. Но что делать с программой Access, у которой уже есть собственный отличный способ хранения данных? Ситуация такова: сегодня все больше и больше компаний применяют язык XML для обмена данными. Когда компании обмениваются коммерческими заказами, например, или новостные организации посылают очерки, или фирмы по торговле недвижимостью перечисляют предлагаемую для продажи собственность, очень вероятно, что они используют формат на основе XML. Если вы хотите отправить ваши данные Access в такие системы, нужен способ извлечения их из специализированного ACCDB-формата БД и помещения их в простой и понятный XML-формат.

 

К сожалению, поддержка языка XML в программе Access до сих пор очень ограничена. Проблема заключается в том, что Access не разрешает выбрать нужный вам XML-формат. Вместо этого программа создает собственный формат, который точно соответствует вашей таблице. Посмотрите на таблицу на рис. 19.11. (При экспорте в XML-файл всегда экспортируется таблица целиком.)

Рис. 19.11. Пример данных, готовых к новой жизни в XML-формате

Когда экспортируется приведенная таблица, программа Access создает XML-документ, который выглядит следующим образом:

<dataroot>

<Product>

<ProductID>371</ProductID>

<Name>Thin-Jam Hex Nut 7</Name>

<ProductNumber>HJ-7161</ProductNumber>

<SafetyStockLevel>1000</SafetyStockLevel>

<ReorderPoint>750</ReorderPoint> </Product> <Product>

<ProductID>372</ProductID>

<Name>Thin-Jam Hex Nut 8</Name>

<ProductNumber>HJ-7162</ProductNumber>

<SafetyStockLevel>1000</SafetyStockLevel>

<ReorderPoint>750</ReorderPoint>

</Product>

 

 

Независимо от экспортируемой таблицы программа Access всегда следует одним и тем же правилам:

¦    корневой элемент документа называется <dataroot>;

¦    программа Access создает отдельный элемент для каждой строки таблицы, используя имя таблицы. В данном примере это означает, что вы получите один элемент <Product> для каждой записи;

¦    внутри каждой записи Access создает отдельный элемент для каждого поля. В данном
примере вы получите поля <Name>, <ProductNumber> и т. д.

В подобной структуризации XML-документа нет ничего плохого. Однако поскольку у вас нет возможности изменять структуру, вы потерпите неудачу, если захотите использовать другую программу, которая принимает XML-документы с другим форматом. Например, ваша программа рассчитывает, что корневой элемент будет назван <ProductRecords>, а не <dataroot> или она принимает несколько иную вложенность элементов. Незначительные нестыковки, подобные описанным, могут полностью нарушить работу приложения с XML-обработкой.

Печально, но эту проблему не обойти. Для того чтобы использовать XML-файлы программы Access, нужно специально разрабатывать программу, распознающую эту структуру, или применять другое средство для преобразования XML-файла в стандарт, который вам на самом деле нужен. Средство экспорта в XML-файл программы Access позволяет начать, но не предоставляет вариантов для представления данных.

 

Примечание

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

 

Те же ограничения возникают, когда импортируется XML-содержимое. Программа Access рассчитывает на получение XML-содержимого с жестким табличным форматом. Если вы попытаетесь представить ей XML-документ другого типа, то получите сообщение об ошибке.

 

 

Вы можете следить за любыми ответами на эту запись через RSS 2.0 ленту. Вы можете оставить ответ, или trackback с вашего собственного сайта.

Оставьте отзыв

XHTML: Вы можете использовать следующие теги: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

 
Rambler's Top100