Программирование arrow .NET Framework arrow Работа с XML в .NET

Работа с 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-файла для передачи другой организации. Каждый заказ имеет дату и адрес доставки, а каждый товар - название и стоимость. Заказы и товары в заказах на форме приложения отображаются в виде дерева.


 
« Предыдущая статья   Следующая статья »


  • .NET Framework, Оптимизация сериализации в .NET
    Приводятся код и методы, позволяющие разработчикам оптимизировать сериализацию данных....
  • .NET Framework, Плавающая точка в .NET - часть 1: принципы и форматы
    Данная статья представит основные принципы арифметических операций с плавающей точкой: числовые форматы, точности и достоверность, погрешности округления. Также в статью включено обсуждение типов плавающей запятой в .NET....
  • .NET Framework, JIT-оптимизации
    Компилятор .NET Just-In-Time Compiler (JIT) считается многими одним из основных преимуществ производительности CLR по сравнению с JVM и другими управляемыми средами, которые используют двоичный код, скомпилированный компилятором JIT. ...
  • .NET Framework, Инъекции CLR: замена методов во время выполнения
    Многие из нас, наверняка, были заинтересованы в том, как работает универсальный язык CLR. Одной из наиболее интересных вещей является динамический компилятор JIT (Just In Time Compiler). Мы рассмотрим то, как JIT компилирует MSIL и создадим утилиту, которая позволяет программным образом заменить любой метод (JIT) другим во время выполнения. Мы также создадим отладочную утилиту, которая прехватывает JIT-вызовы и выводит в консоль информацию о диагноcnbrt....
  • .NET Framework, Оптимизация запуска приложений .NET
    Ждать, пока приложение запустится, неприятно для многих пользователей, поэтому ускорение запуска приложений клиентов может значительно улучшить первое впечатление от вашей работы. И так как скорость запуска имеет значение, следует знать факторы, которые на нее влияют, чтобы избежать распространенных ошибок....
  • .NET Framework, Создание компилятора языка для .NET Framework
    Эксперты по компиляторам являются знаменитостями в компьютерном мире. Я видел, как Андерс Хейльсберг (Anders Hejlsberg) представлял презентацию на конференции разработчиков Professional Developers Conference и когда он сошел со сцены, его встретила целая орда мужчин и женщин, просящих поставить автограф на книгу, или сняться на фотографии вместе с ними. Люди, посвящающие свое время изучению и пониманию всех тонкостей лямбда-выражений, систем типов и языков сборки, кажутся своего рода носителями ...
  • .NET Framework, Маршалинг данных между управляемым и неуправляемым кодом
    Посмотрим правде в глаза: нет в мире совершенства. Мало кто при разработке использует только управляемый код. А между тем, тяжким грузом лежат устаревшие неуправляемые приложения, с которыми приходится мириться. Есть ли способ интегрировать проекты, в которых задействован как управляемый, так и неуправляемый код? Какой вид принимает этот способ: вызов неуправляемого кода из управляемого приложения или вызов управляемого кода из неуправляемого приложения?...
  • .NET Framework, IronPython как движок для макросов в .NET приложениях
    Подозреваю, многие из вас задумывались — как можно в .NET приложение добавить поддержку макросов — чтобы можно было расширять возможности программы без ее перекомпиляции и предоставить сторонним разработчикам возможность легко и просто получить доступ к API вашего приложения? В статье рассмотрено, как в качестве основы для выполнения макросов использовать IronPython — реализацию языка Python на платформе .NET....