Работа с XML в .NET

ОГЛАВЛЕНИЕ

XML это язык разметки, с помощью которого можно описать произвольные данные. На основе XML можно организовать хранение информации и ее обмен, который не зависит от ни от конкретных приложений, ни от платформы, на которой они исполняются. На основе XML построены web-службы. XML широко применяется в web-приложениях для отделения данных от их отображения. Его стандарт утвержден World Wide Web Consortium (W3C) в 1998 году. Для работы с XML применяются XML-парсеры.

    Существует два основных типа парсеров: Simple API for XML (SAX) и Document Object Model (DOM). SAX основан на курсорах и событиях, возникающих при проходе по узлам XML документа. SAX-прасеру не требуется большого количества памяти для разбора даже больших документов (т.к. ему не нужно загружать в память весь документ), но его существенным ограничением является то, что можно перемещаться по документу только в одном направлении. DOM полностью загружает документ в память и представляет его в виде дерева, поэтому можно произвольно перемещаться по XML-документу.

    Многие составляющие технологии .NET неразрывно связаны с XML. А значит, XML хорошо поддерживается со стороны Framework Class Library. Классы для работы с XML собраны в пространстве имен System.Xml. В .NET поддерживаются следующие технологии

  • XML 1.0
  • пространства имен XML
  • XSD схемы
  • выражения XPath
  • XSL преобразования
  • DOM Level 1 Core, DOM Level 2 Core

   В этой статье рассматриваются приемы работы с XML в .NET на примере небольшого windows-forms приложения для работы с заказами товаров. Данные о заказах и товарах хранятся в сущностных классах Order и Good. Приложение позволяет создавать новые заказы и добавлять в них товары, сохранять и загружать данные о заказах из XML файла и преобразовывать структуру XML-файла для передачи другой организации. Каждый заказ имеет дату и адрес доставки, а каждый товар - название и стоимость. Заказы и товары в заказах на форме приложения отображаются в виде дерева.