Что такое xml файл и как его создать?

16 ответов на вопрос “Что такое xml файл и как его создать?”

  1. Maunris Ответить

    XML означает Extensible Markup Language, с акцентом на markup (разметка). Вы можете создавать текст и размечать его при помощи обрамляющих тегов, превращая каждое слово, предложение или фрагмент в идентифицируемую, сортируемую информацию. Создаваемые вами файлы, или экземпляры документа, состоят из элементов (тегов) и текста, причем элементы помогают правильно понимать документ при чтении на бумаге или даже обрабатывать его в электронном виде. Чем больше описательных элементов, тем больше частей документа можно идентифицировать. С первых дней существования разметки одно из ее преимуществ заключается в том, что в случае потери компьютерной системы распечатанные данные все равно остаются читабельными благодаря тегам.
    Языки разметки прошли путь от первых форм, создаваашихся компаниями и госучреждениями, до Стандартного языка обобщенной разметки (Standard Generalized Markup Language – SGML), Гипертекстового языка разметки (Hypertext Markup Language – HTML) и в конечном итоге до XML. SGML может показаться сложным, а HTML (который, по сути, сначала был просто набором элементов) оказался недостаточно мощным для идентификации информации. XML разрабатывался как простой в применении и удобный для расширения язык разметки.
    В XML можно создавать свои собственные элементы, что позволяет точно представлять фрагменты данных. Документы можно не просто разделять на абзацы и заголовки, но и выделять любые фрагменты внутри документа. Чтобы это было эффективно, нужно определить конечный перечень своих элементов и придерживаться его. Элементы можно определять в Описании типа документа (Document Type Definition – DTD) или в схеме, что будет кратко обсуждено ниже. Когда вы освоите и начнете использовать XML, не бойтесь экспериментировать с именами элементов, создавая реальные файлы.

    Построение документа XML

    Как уже упоминалось, файлы XML состоят из текста и разметки. Большая часть текста помещается в элементы, в которых текст окружен тегами. Например, допустим, нужно создать поваренную книгу в формате XML. У нас есть рецепт под названием Ice Cream Sundae, который нужно преобразовать в XML. Чтобы разметить название рецепта, заключим его текст в элемент, который начинается и заканчивается тегами. Этот элемент можно назвать recipename. Чтобы отметить начальный тег элемента, поместим его имя в угловые скобки ), вот так: . Затем введем текст Ice Cream Sundae. После текста поставим замыкающий тег, который представляет собой имя элемента в угловых скобках, плюс косая черта завершения элемента (/) перед именем элемента, вот так: . Эти теги образуют элемент, в который можно вводить текст и даже другие элементы.
    Имена элементов можно создавать как для отдельных документов, так и для групп документов. В соответствии с вашими требованиями можно указать правила, которые должны соблюдаться для элементов. Элементы могут быть строго специальными или достаточно общими. Правила должны также определять, что допустимо включать в каждый элемент. Они могут быть строгими, свободными или промежуточными. Просто создайте элементы, определяющие те части вашего документа, которые, на ваш взгляд, важны.

    Начало создания файла XML

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

    Создание корневого элемента

    Начальный и замыкающий теги корневого элемента окружают весь текст XML-документа. В файле должен присутствовать только один корневой элемент, и это необходимая “обложка” для него. В листинге 1 показан фрагмент примера, который я здесь использую, с корневым элементом (рецепт). (Полный файл XML приведен в Загрузках.)
    Листинг 1. Корневой элемент
    По мере создания своего документа вы будете размещать текст и дополнительные теги между и .

    Наименования элементов

  2. Лучше умереть стоя чем жить на коленях Ответить

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

    Варианты использования XML-фидов

    Импорт товаров в онлайн-площадки сравнения предложений различных интернет-магазинов, например hotline.ua, Яндекс.Маркет, Google Покупки:

    Создание email-рассылок, содержащих описание, ссылки и изображения товаров:

    Применение в рекламных кампаниях Яндекс.Директ: использование фидов Яндекс.Маркета, Яндекс.Недвижимости и XML-фида Авто.ру.

    Как XML-фид создать

    Для создания XML-фида используются теги, в которых прописывают название продукта и его характеристики, например, цену, размер, добавляют ссылку на изображение.
    Основные XML-теги зависят от спецификации, которая используется в выбранном сервисе, наиболее распространенные варианты:
    Наличие товара;
    Ссылка на товар;
    Название товара или услуги;
    Цена товара;
    Описание;
    Производитель и пр.
    В XML-feed добавляют сведения о всех необходимых товарах, и сохраняют файл в корневом каталоге сайта на хостинг-провайдере. В рекламном сервисе указывается ссылка на созданный XML-фид, после чего считываются данные о товарах и добавляются на веб-площадку. Эта технология позволяет автоматически обновлять сведения о товарах на всех партнерских рекламных площадках при изменении цен и характеристик продуктов, а также обновлении ассортимента интернет-магазина.

    Как создать XML-feed Google

    XML-feed создается для добавления товаров в Google Merchant Center:

    При этом доступны следующие форматы XML:
    спецификация RSS 1.0;
    спецификация RSS 2.0;
    спецификация Atom 0.3 (устаревший вариант);
    спецификация Atom 1.0.
    Рассмотрим более подробно создание XML-фидов в форматах RSS 2.0 и Atom 1.0.

    Пример создания фида в формате RSS 2.0

    Создайте файл, имя которого будет совпадать с названием фида, зарегистрированного в аккаунте, с расширением .xml.
    Добавьте в файл указание версии XML и пространства имен Google Merchant Center:
    Поместите все дальнейшие сведения о товарах внутри тега .
    Заполните предопределенные атрибуты данными о фиде:
    Интернет-магазин бамперов
    https://www.super-bamper.ua
    Качественные бампера с бесплатной доставкой
    Информацию о каждом отдельном товаре помещайте в тег .
    Добавьте атрибуты с названием, ценой, идентификатором, описанием, состоянием и доступностью товара. Укажите ссылки на товар и его изображение:
    Бампер на ВАЗ 2106
    https://www.super-bamper.ua/bamper-2106.html
    Заводской передний бампер на ВАЗ 2106
    1000 UAH
    V-2106-179543
    new
    in_stock
    https://www.super-bamper.ua/images/bamper-2106.jpg
    При заполнении сведений обратите внимание на следующие нюансы:
    для отличия атрибутов из пространства имен Merchant Center необходимо добавлять к стандартным тегам префикс “g:”, иначе атрибуты не будут отображаться;
    описание товара не должно превышать 5000 символов;
    идентификатор товара (id) должен быть уникальным;
    состояние (condition) нужно обязательно указывать для бывших в употреблении (used) и восстановленных (refurbished) товаров. Для новых (new) изделий этот атрибут не обязателен;
    доступность товара (availability) принимает такие значения: in_stock (в наличии), out_of_stock (нет в наличии), preorder (предзаказ).
    Укажите дополнительные атрибуты, характеризующие продукцию, — это положительно повлияет на количество отображений в товарных объявлениях. Доступны следующие атрибуты:
    доставка:
    UA
    Бесплатная доставка
    0 UAH
    производитель:
    ВАЗ
    цвет:
    White
    Допускается указание нескольких цветов для многоцветных изделий, например, значение Red/White/Black для описания красного товара с белыми и черными элементами.
    Итоговый файл должен иметь такой вид:

    После добавления всех товаров закройте теги:
    Добавьте созданный XML-фид в корневой каталог собственного сайта, чтобы в дальнейшем он был доступен по адресу название-сайта.ru/имя-фида.xml.

    Пример создания фида в формате Atom 1.0

    Создание XML-фида в данном формате сходно с описанным выше примером в RSS 2.0, однако есть ряд отличий:
    После создания XML-файла и указания версии XML пропишите название формата и пространство имен таким образом:
    Пропишите название фида, ссылку на сайт и дату обновления:
    XML-feed for Google
    2019-09-20T17:00:05Z
    В этой спецификации сведения о каждом товаре прописываются внутри тега . Добавьте данный тег и пропишите 5 предопределенных атрибутов. В данном формате вместо тега (описание) используется , а также добавляются элементы (идентификатор) и (дата обновления):
    Виниловые обои с маками
    OV-04589
    Качественные моющиеся обои немецкого производства.
    2019-09-18T15:15:08Z
    Заполните атрибуты из пространства имен Google Merchant Center:
    https://www.oboi.com/pictures/vinilovye-oboi-s-makami.png
    150 UAH
    new
    В этой спецификации использование дополнительных атрибутов в описании товара также приветствуется. Для некоторых товаров должны использоваться атрибуты цвета, размера, материала, возрастной категории, производителя и прочие.
    Добавьте закрывающие теги:
    Итоговый файл в данной спецификации выглядит так:

    Создание XML-фида Google с помощью онлайн-генератора

    Ручное создание фида, описанное в предыдущем разделе, подойдет для небольшого количества товаров. Если необходимо создать фид с сотнями или тысячами товаров, необходимо использовать онлайн-генератор либо самостоятельно прописать код на PHP, подключающийся к базе данных и добавляющий необходимые теги и значения в файл.
    При отсутствии навыков программирования оптимальным вариантом будет онлайн-генератор обновляемого XML-фида, например:
    Обновляемый фид для Google Merchant Center и Ads
    Woocommerce Google Feed Manager

    Модуль ManyFeed для OpenCart

    Как создать XML-фид Яндекс

    В рекламе Яндекса предлагается использовать несколько форматов фидов в зависимости от типа товаров и услуг:
    фид Яндекс.Маркета для розничной торговли;
    фид Авто.ру для продажи автомобилей;
    фид Яндекс.Недвижимости для риелторских агентств, продающих жилую недвижимость.

    Создание фида для динамических объявлений в Яндекс.Маркете

    Создайте фид в формате YML — Yandex Market Language.
    Пропишите версию XML и корневой элемент документа, содержащий дату генерации фида:
    Внесите информацию о названии магазина и ссылку на сайт:
    Jeans
    https://www.jeans.com.ua
    Для добавления всех необходимых предложений интернет-магазина откройте тег , поместите информацию о каждом товаре внутри тегов .
    Добавьте в каждое товарное предложение идентификатор, название, ссылки на товар и его изображение, цену и код валюты:
    https://www.jeans.com.ua/blue-jeans-for-kids.html
    470
    https://www.jeans.com.ua/images/blue-jeans-for-kids.JPG
    Детские джинсы голубого цвета
    Турецкие летние джинсы для мальчиков от 2 до 4 лет
    Дополните информацию о товарах с помощью таких элементов как (модель), (производитель), (возможность доставки) и прочими доступными тегами.
    Закройте теги с товарными предложениями и корневой элемент:
    В результате должен получится фид подобного вида:

    Создание фида для продажи легковых автомобилей

    Создайте XML-файл, добавьте его версию, откройте теги и для добавления информации об автомобилях:
    Информация о каждом автомобиле вносится в тег . Добавьте один из вариантов идентификаторов автомобилей — либо . Также укажите цену, валюту, ссылку на товар и его изображение:
    https://www.auto.ru/1784445
    https://images.auto.ru/bmw.jpg
    150000
    UAH
    XWBCA41ZXDK259205
    Для дополнительных сведений об автомобиле используются теги (цвет), (марка машины), (тип кузова) и другие элементы.
    После добавления информации обо всех автомобилях закройте теги:
    На выходе получается фид такого вида:

    Создание фида для продажи жилой недвижимости

    Создайте данный фид, используя формат YRL, — Yandex Realty Language.
    Все предложения добавьте внутри тега , сведения о каждом объекте недвижимости помещайте внутри элемента .
    Заполните обязательные элементы: (идентификатор), (название объекта недвижимости), продажа, (местоположение объекта), (название населенного пункта, (ссылка на предложение) и другие необходимые атрибуты.
    Закройте тег с предложениями недвижимости:
    Пример готового фида YRL:

    Как проверить фид в формате XML

    1. Проверка фидов Google

    Фиды Google проверяют при загрузке в Merchant Center. Зайдите в пункт меню «Products» («Товары»), затем выберите «Feeds» («Фиды»). Нажмите знак плюса:

    Затем выберите страну, язык, укажите название фида и способ загрузки:

    Загрузите XML-файл в тестовом режиме и нажмите «Continue»:

    Проверка занимает несколько минут, после ее прохождения отобразится, есть ли ошибки в фиде.

    2. Проверка фидов Яндекс

    Для проверки фидов в формате XML используют Яндекс XML-валидатор. Выберите нужный формат и тип добавления фида — непосредственно в сервис, в виде ссылки или файла, затем нажмите «Проверить»:

    Данный фид успешно прошел валидацию.

    Запомнить

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

  3. FYNA Ответить

    Способ 2. Блокнот Windows

    Если XML файл нужно отредактировать максимально быстро, то и самый простой блокнот сгодится. Кликните правой кнопкой мыши на файлике и в контекстном меню «Открыть с помощью…» и выберите в списке «Блокнот».

    В обычном блокноте Windows, к сожалению, нет подсветки синтаксиса, что несколько затрудняет восприятие информации… но по быстрому подправить вполне сгодится.

    Способ 3. Браузер

    Если нет надобности в редактировании, то XML файл можно открыть только для чтения в любом браузере. Я использую браузер Яндекс, но можно использовать даже ненавистный многим Internet Explorer. Для этого кликните правой кнопкой по файлу и выберите пункт «Открыть с помощью», в списке найдите свой веб обозреватель…

    Бывают такие ситуации, когда браузер попытается отобразить информацию согласно тегам… что нам совершенно не нужно — просто нажмите CTRL+ U для просмотра исходного кода документа.

    Как можете видеть, браузер отображает более вменяемо информацию из XML файла в отличии от стандартного Блокнота.

    Заключение

    Вот мы и рассмотрели что такое XML файл и различные способы его открыть. Если разбирать вопрос более подробно, то многие читатели могут заметить, что в сети присутствует огромное количество онлайн сервисов для работы с XML — рассматривать их в разрезе данной заметки не вижу смысла, моя цель была рассказать как его просмотреть и отредактировать (по возможностями средствами самой ОС Windows)

  4. **всё будет за*бись!!!** Ответить

    Данный код считается одним из самых простых и гибких форматов, но при этом он требователен к правильному формированию структуры – теги зависимы от регистра, обязательно указан закрывающий тег, а данные обязательно должны быть актуальными, то есть привязанными к DTD-файлу, определяющему связи между элементами. Кроме того, DTD-файл имеет единственный корневой элемент, а остальная информация расположена между открывающим и конечным тегами. Когда таких объектов больше одного, работа нарушается.
    В любой части файла разрешается вписать комментарий, но для этого нужен будет специальный тег в виде символов. В комментариях не могут находиться два дефиса подряд. Благодаря своей простоте XML быстро стал основным форматом для обмена данными через Интернет.

    Для чего он нужен?

    XML применяется почти во всех областях веб-разработки для более удобного хранения данных и их передачи. Вот несколько аспектов использования:
    лежит в основе популярного книжного формата FB2;
    используется для создания новых языков веб-программирования;
    повышает доступность данных, чтобы они были видимы всеми “машинами чтения”, в том числе для слабовидящих;
    упрощает изменение платформы при переходе с одной системы на другую;
    помогает в распределении данных, не требуя для своей обработки какого-то специального программного обеспечения;
    разделяет HTML и данные, благодаря чему не нужно каждый раз редактировать файл HTML с динамическими данными.

    Чем можно открыть файл XML?

    Самый известный софт для просмотра файлов XML-формата:
    Notepad++

    Данный текстовый редактор давно завоевал любовь пользователей, как улучшенная альтернатива стандартному Блокноту с дополнительными функциями. Используется как для просмотра, так и для создания/редактирования HTML-кода. Как использовать программу для просмотра XML?
    Запустить редактор, выбрать строку “Открыть” в меню “Файл”;
    В открывшемся окне проводника найти необходимый файл и дважды щелкнуть по нему;
    Файл откроется, причем его можно не только просматривать, но и редактировать.
    А чтобы получить возможность делать это с наглядными синтаксическими правилами языка, можно установить соответствующую опцию. Еще можно включить очень удобную функцию подсветки кода. Часто человек по невнимательности пропускает точку с запятой или скобку, а, благодаря интерфейсу программы, ошибка будет сразу видна.
    Excel

    Пакет программ Microsoft Office, включающий в себя Excel, также может помочь в решении проблемы, причем документ будет иметь удобный табличный вид. К сожалению, программа платная, для ее использования необходимо приобрести офисный пакет. XML через Excel открывается следующим образом:
    Нажать на пункт меню “Файл”, затем в подменю – “Открыть”, найти необходимый документ, выбрать его;
    Появится окошко, определяющее способ работы с объектом. Если его нужно редактировать, то можно просто оставить вариант, выбранный по умолчанию.
    Результат – файл преобразован в удобный вид, и его можно просматривать или изменять. Минус в том, что программа способна отобразить только определенное количество строк, а, если их больше, то документ просто не откроется.
    Google Chrome

    В принципе, можно использовать и любой другой веб-браузер, но возьмем для примера один из самых популярных на территории РФ. Скорее всего, он уже установлен на вашем ПК. Google Chrome довольно быстро и эффективно работает с документами формата XML.
    Процесс открытия очень прост – достаточно перетащить нужный документ на значок или на окно программы, и вот его содержимое уже на вашем экране.
    Стандартный блокнот

    Если у вас нет желания устанавливать на свой компьютер какой-либо сторонний софт, то неплохим выходом станет встроенная программа Блокнот. Ее функционал минимален, но прочесть XML-файл она вполне способна.
    Процесс открытия происходит так же, как и в других программах – в меню “Файл” нужно щелкнуть пункт “Открыть” и выбрать документ.
    Если по вышеперечисленные варианты не устраивают, например, по причине неполного функционала, то есть и такой вариант, как

  5. стильнюша Ответить

    Рассматривают несколько простых способов:
    1. Visual Studio. Это расширенный аналог блокнота со специальной подсветкой для выделения ошибок. Благодаря наличию загруженных шаблонов упрощается создание xml файлов. В пункте меню «Файл» выбираете «Создать», а в выпадающем меню строку «Файл».

    Далее в окне работаем с пунктом «XML-файл».

    Обратите внимание, что по умолчанию задается кодировка UTF-8, которую при необходимости можно изменять. После создания нажимаем «Сохранить все».
    2. Microsoft Excel. Как создать xml формат из excel? Такой способ предусмотрен специально для тех, кто не любит возиться с кодом, но полученная таблица не будет отличаться огромным функционалом. Все преобразования доступны только на новых версиях MS Excel.
    Для этого следует подготовить таблицу с контентом, после чего открыть «Файл» в контекстном меню.

    Далее перейти на «Сохранить как».

    Указать место сохранения файла.

    Назвать файл и в меню выбрать «XML-данные» и «Сохранить» результат.

    3. Блокнот. Преимущество работы с блокнотом в том, что не нужно прописывать команды и теги. Наличие специальных подсветок ошибок позволяет неопытным пользователям самостоятельно разбираться в синтаксисе языка. Достаточно воспользоваться готовым блокнотом.
    Создайте текстовый документ TXT.

    Далее перейти к прописыванию кодировки и версии XML при помощи команды:

  6. Androriel Ответить

    Язык XML – практическое введение. Часть 2

    XML (Extensible Markup Language) – это новый SGML-производный язык разметки документов, позволяющий структурировать информацию разного типа, используя для этого произвольный набор инструкций. Разработчиков Интернет приложений, пытающихся на практике использовать новую технологию, могут заинтересовать конкретные вопросы, связанные с проблемами создания, обработки XML-документов, их отображения на стороне клиента. В этой статье дается краткое представление о том, что представляет собой и для чего нужен XML-документ и на практических примерах иллюстрируются некоторые простые, но пока, к сожалению, мало описанные механизмы его обработки.
    Что такое XML
    Сегодня XML может использоваться в любых приложениях, которым нужна структурированная информация – от сложных геоинформационных систем, с гигантскими объемами передаваемой информации до обычных “однокомпьютерных” программ, использующих этот язык для описания служебной информации. При внимательном взгляде на окружающий нас информационный мир можно выделить множество задач, связанных с созданием и обработкой структурированной информации, для решения которых может использоваться XML:
    В первую очередь, эта технология может оказаться полезной для разработчиков сложных информационных систем, с большим количеством приложений, связанных потоками информации самой различной структурой. В этом случае XML – документы выполняют роль универсального формата для обмена информацией между отдельными компонентами большой программы.
    XML является базовым стандартом для нового языка описания ресурсов, RDF, позволяющего упростить многие проблемы в Web, связанные с поиском нужной информации, обеспечением контроля за содержимым сетевых ресурсов, создания электронных библиотек и т.д.
    Язык XML позволяет описывать данные произвольного типа и используется для представления специализированной информации, например химических, математических, физических формул, медицинских рецептов, нотных записей, и т.д. Это означает, что XML может служить мощным дополнением к HTML для распространения в Web “нестандартной” информации. Возможно, в самом ближайшем будущем XML полностью заменит собой HTML, по крайней мере, первые попытки интеграции этих двух языков уже делаются (спецификация XHTML).
    XML-документы могут использоваться в качестве промежуточного формата данных в трехзвенных системах. Обычно схема взаимодействия между серверами приложений и баз данных зависит от конкретной СУБД и диалекта SQL, используемого для доступа к данным. Если же результаты запроса будут представлены в некотором универсальном текстовом формате, то звено СУБД, как таковое, станет “прозрачным” для приложения. Кроме того, сегодня на рассмотрение W3C предложена спецификация нового языка запросов к базам данных XQL, который в будущем может стать альтернативой SQL.
    Информация, содержащаяся в XML-документах, может изменяться, передаваться на машину клиента и обновляться по частям. Разрабатываемые спецификации XLink и Xpointer поволят ссылаться на отдельные элементы документа, c учетом их вложенности и значений атрибутов.
    Использование стилевых таблиц (XSL) позволяет обеспечить независимое от конкретного устройства вывода отображение XML- документов.
    XML может использоваться в обычных приложениях для хранения и обработки структурированных данных в едином формате.
    Поверхностное описание языка можно найти в статье “Язык XML – практическое введение”. Напомню лишь в общих словах, что XML-документ представляет собой обычный текстовый файл, в котором при помощи специальных маркеров создаются элементы данных, последовательность и вложенность которых определяет структуру документа и его содержание. Основным достоинством XML документов является то, что при относительно простом способе создания и обработки (обычный текст может редактироваться любым тестовым процессором и обрабатываться стандартными XML анализаторами), они позволяют создавать структурированную информацию, которую хорошо “понимают” компьютеры.
    Как создать XML документ?
    Для создания XML документа в простейшем случае вам не понадобится ничего кроме обычного текстового редактора (по мнению многих Web-дизайнеров, лучший инструмент для создания Web-страниц). Вот пример небольшого XML-документа, используемого вместо обычной записной книжки:
    Важная деловая встреча
    Надо встретиться с Иваном Ивановичем, предварительно
    позвонив ему по телефону 123-12-12

    Позвонить домой
    124-13-13
    При создании собственного языка разметки вы можете придумывать любые названия элементов, (почти любые, т.к. список допустимых символов ограничен и приведен в спецификации XML), соответствующих контексту их использования. В нашем примере приведен лишь один из многочисленных способ создания структуры дневника. В этом и заключается гибкость и расширяемость XML-производных языков – они создаются разработчиком “на лету”, согласно его представлениям о структуре документа, и могут затем использоваться универсальными программами просмотра наравне с любыми другими XML-производными языками, т.к. вся необходимая для синтаксического анализа информация заключена внутри документа.
    Создавая новый формат, необходимо учитывать тот факт, что документов, “написанных на XML”, не может быть в принципе – в любом случае авторы документа для его разметки используют основанный на стандарте XML (т.н. XML-производный) язык, но не сам XML. Поэтому при сохранении созданного файла можно выбрать для него какое-то подходящее названию расширение (например, noteML).
    XML может использоваться вами для создания документов какого-то определенного типа и структурой, необходимой для конкретного приложения. Однако если сфера применения языка оказывается достаточно широкой и он начинает представлять интерес для большого числа разработчиков, то его спецификация вполне может быть представлена на рассмотрение в W3C и после согласования всеми заинтересованными сторонами, утверждена консорциумом в качестве официальной рекомендации.
    Надо заметить, что процесс появления новой спецификации очень длителен и сложен. Любой документ, предлагаемый W3C, прежде чем стать стандартом проходит несколько этапов. Сначала пожелания и рекомендации, поступающие от различных компаний, участвующих в его разработке, оформляются в виде принятого к сведению замечания (Note), своеобразного протокола о намерениях. Информация, изложенная в таких документах предназначена только для обсуждения членами консорциума и никто не дает гарантии того, что эти замечания потом станут рекомендацией.
    Следующей этапом продвижения документа является рабочий вариант спецификации, который составляет и изменяет в дальнейшем специально созданная рабочая группа (Working Group), в состав которой входят представители заинтересовавшихся идеей компаний. Все изменения, вносимые в этот документ обязательно публикуются на сервере консорциума http://www.w3.org и до тех пор, пока рабочий вариант не станет рекомендацией, он может служить для разработчиков лишь “путеводной звездой”, с которой компания может сверять свои планы, но не должна использовать при разработке ПО.
    В том случае, если стороны договорились по всем основным вопросам и существенных изменений в документ больше вносится, рабочий вариант становится Предложенной Рекомендацией и после голосования членами рабочей группы может стать уже Официальной Рекомендаций W3C, что по статусу соответствует стандарту в WWW.
    XML-генераторы
    XML документы могут служить промежуточным форматом для передачи информации от одного приложения к другому (например, как результат запроса к базе данных), поэтому их содержимое иногда генерируется и обрабатывается программами автоматически. Далеко не всегда XML документ нужно создавать вручную.
    Пусть, например, нашей задачей является создание формата хранения данных регистрации каких-то происходящих в системе событий (log-файла). В простейшем случае можно ограничиться фиксированием успешных и ошибочных запросов к нашим ресурсам – в таком документе должна присутствовать информация о времени произошедшего события, его результате (удача/ошибка), IP адресе источника запроса, URI ресурса и коде результата.
    Наш XML документ может выглядеть следующим образом:
    195.151.62.18
    GET
    /misc/
    200
    195.209.248.12
    GET
    /soft.htm
    200
    Структура документа довольно проста – корневым в данном случае является элемент log, каждое произошедшее событие фиксируется в элементе event и описывается при помощи его атрибутов(date – время и result – тип события ) и внутренних элементов (method – метод доступа, ip-from – адрес источника, url-to – запрашиваемый ресурс, response – код ответа). Генерацией этого документа может заниматься, например, модуль аутентификации запросов в систему, а использованием – программа обработки регистрационных данных (log viewer).
    Что такое DTD?
    Итак, мы создали XML документ и убедились, что набор используемых при этом тэгов позволяет осуществлять любые манипуляции с нашей информацией. В таком случае, для того, чтобы утвердить правила нашего нового языка, т.е. список допустимых элементов, их возможное содержимое и атрибуты, мы должны создать DTD – определения (на момент написания статьи спецификация схем данных для XMLдокументов еще не утверждена и пока DTD являются единственным стандартным способом описания грамматики).
    Более подробно о DTD можно прочитать в предыдущей статье, посвященной XML, здесь приведеy лишь небольшой пример для нашего XML-документа:
    Сохраните этот файл под именем log.dtd и включите в XML-документ новую строчку:

    Теперь верифицирующий XML-анализатор при обработке документа будет сверять порядок определения элементов и их атрибутов с тем, как это указано у нас в DTD-нотациях и в случае нарушения внутренней структуры (которая определяет “семантику” документа) выдавать сообщение об ошибке.
    Что такое Namespaces?
    Как уже упоминалось ранее, вся прелесть использования XML заключается в возможности придумывания собственных тэгов, названия которых наиболее полно соответствовали бы предназначению. Но фантазия и словарный запас людей не безграничны, поэтому нет абсолютно никакой гарантии того, что данные вами имена элементов не будут использованы кем-то еще. До тех пор, пока в вашем приложении обрабатываются только собственные XML-документы, никаких проблем не возникнет. Но вполне возможна ситуация, когда один и тот же документ будет содержать информацию для нескольких обработчиков одновременно. В этом случае названия некоторых элементов или их атрибутов могут совпасть, что вызовет либо ошибку в XML- анализаторе, либо неправильное представление документа. Например, в нашем случае, элемент event вполне мог бы быть использован для записи других событий и обрабатываться другим приложением.
    Чтобы исправить эту ситуацию, мы должны определить уникальные названия элементов и их атрибутов, “дописывая” к их обычным именам некоторый универсальный неповторяющийся префикс. Для этого применяется механизм Namespaces (спецификация Namespaces была официально утверждена W3C в январе 1999 года и сегодня является частью стандарта XML). Согласно этой спецификации, для определения “области действия” тэга ( на самом деле этот термин, широко используемый в обычных языках программирования, неприменим в XML, потому что как такового множества, на котором могла бы быть построена “область”, внутри структурированного XML документа нет) необходимо определить уникальный атрибут, описывающий название элемента, по которому анализатор документа сможет определить, к какой группе имен оно относится (Namespace идентификаторы могут применяться для описания уникальных названий как элементов, так и их атрибутов). В нашем последнем примере это может быть сделано так:
    195.151.62.18
    GET
    /misc/
    200
    195.209.248.12
    GET
    /soft.htm
    200
    Уникальность атрибуту имени обеспечивает использование в качестве его значения некоторых универсальных идентификаторов ресурсов (например, URI или ISBN) .
    Полную информацию по использованию Namespace вы можете найти в официальной спецификации этого стандарта. В дальнейшем, для упрощения примеров, мы будем Namespace – описания пропускать.
    Инструментарий
    Очевидно, что ручной способ создания структурированной информации не может применяться для наполнения больших информационных узлов. Для этого существуют специальные средства разработки, список которых сегодня постоянно пополняется (их обзор будет приведен в одной из следующих статей). Одним их самых простых и удобных, на мой взгляд, является редактор XML Notepad, получить который можно здесь -msdn.microsoft.com/xml/notepad/intro.asp).
    Обработка XML-документов
    Основным сдерживающим фактором в продвижении XML технологии в Web на сегодняшний день является отсутствие полной поддержки этого формата всеми производителями броузеров – программ, наиболее часто используемых на стороне клиента. Выходом из создавшейся ситуации может стать вариант, при котором обработкой XML документов занимается серверная сторона Используя любой существующий XML-анализатор, можно формировать необходимую информацию уже на сервере и посылать клиенту нормальный HTML-документ. Однако такой способ, конечно, менее гибок, и позволяет использовать XML технологию лишь для хранения структурированной информации, но не для ее динамического изменения на стороне клиента.
    В августе 1997 RFC 2376 были утверждены MIME типы для XML-ресурсов: text/xml и application/xml. Поэтому XML документы могут передаваться по HTTP и отображаться программой просмотра также, как и обычные HTML- страницы. Для этого нужно немного изменить конфигурацию Web-сервера (в Apache – добавить в файл mime.types строчку “text/xml xml ddt”), а на стороне клиента иметь броузер, поддерживающий стилевые таблицы или JavaScript. Сегодня такими броузерами являются Microsoft Internet Explorer 5, первый броузер, поддерживающий спецификацию XML 1.0 и стилевые таблицы XSL; броузер Amaya, предлагаемый консорциумом специально для тестовых целей (http://www.w3.org/Amaya/User/BinDist.html) и поддерживающий практически все разрабатываемые стандарты W3C. Поддержка XML также планируется в будущих версиях Netscape Navigator.
    Объектная модель документа DOM
    Одним из самых мощных интерфейсов доступа к содержимому XML документов является Document Object Model – DOM.
    Объектная модель XML документов является представлением его внутренней структуры в виде совокупности определенных объектов. Для удобства эти объекты организуются в некоторую древообразную структуру данных – каждый элемент документа может быть отнесен к отдельной ветви, а все его содержимое, в виде набора вложенных элементов, комментариев, секций CDATA и т.д. представляется в этой структуре поддеревьями. Т.к. в любом правильно составленном XML-документе обязательно определен главный элемент, то все содержимое можно рассматривать как поддеревья этого основного элемента, называемого в таком случае корнем дерева документа. Для следующего фрагмента XML документа:
    text
    text
    дерево элементов выглядит так:

    Рис.1Дерево элементов
    Объектное представление структуры документа не является чем-то новым для разработчиков. Для доступа к содержимому HTML страницы в сценариях давно используется объектно-ориентированный подход, – доступные для Java Script или VBScript элементы HTML документа могли создаваться, модифицироваться и просматриваться при помощи соответствующих объектов. Но их список и набор методов постоянно изменяется и зависит от типа броузера и версии языка. Для того, чтобы обеспечить независимый от конкретного языка программирования и типа документа интерфейс доступа к содержимому структурированного документа в рамках W3 консорциума была разработана и официально утверждена спецификация объектной модели DOM Level 1.
    DOM – это спецификация универсального платформо- и программно-независимого доступа к содержимому документов и является просто своеобразным API для их обработчиков. DOM является стандартным способом построения объектной модели любого HTML или XML документа, при помощи которой можно производить поиск нужных фрагментов, создавать, удалять и модифицировать его элементы.
    Для описания интерфейсов доступа к содержимому XML документов в спецификации DOM применяется платформонезависимый язык IDL и для использования их необходимо “перевести” на какой-то конкретный язык программирования. Однако этим занимаются создатели самих анализаторов, нам можно ничего не знать о способе реализации интерфейсов – с точки зрения разработчиков прикладных программ DOM выглядит как набор объектов с определенными методами и свойствами. В следующем разделе мы вкратце рассмотрим объектную модель Microsoft Internet Explorer 5, доступную из Java Script и VBScript сценариев.
    Содержание |
    Вперед

  7. Visar Ответить

    Хотелось бы в одном месте рассказать о вполне типичной задаче при работе с XML, а именно, о создании XML на основе существующего. Данная операция будет состоять из нескольких этапов, при выполнении которых, будут решены дополнительные задачи, такие как:
    Создание XML на основе XSD, и наоборот.
    Сериализация и десериализация объектов.
    Создание класса, для будущей сериализации из XML или XSD.
    Перед началом планирую, что читатель знаком со словами XML и XSD. Что касается XML, думаю с этим проблем нет, но что касается XSD могу возникнут вопросы, что же это такое. Если коротко, то:
    XSD – это язык, для описания XML. И если вы посмотрите содержимое файла содержащего это описание, то возникнет вопрос, зачем же описывать казалось бы очевидные теги вашего XML? Но представьте, что вы интегрируетесь с какой то внешней системой, и для обмена данных хотите использовать формат XML. Так вот, XSD позволяет описать для каждого элемента его именя, возможные атрибуты, обязательность полей или атрибутов, дать понять, что содержимое какого то тега может содержать лишь один внутренний элемент () и не более, либо узел может иметь последовательность элементов (< a>). Когда внешняя система является вашей, тогда проблем может не возникнуть, но когда это сторонняя организация, тогда данное описание через XSD, будет инструментом урегулирования споров с форматом, а так же, используя утилиты, можно проверить соответствие любой XML изначальному формату.
    Итак, что же мы будем делать, для того, что бы научиться штамповать XML на основе вашего эталона? Опишу всё по порядку.
    Имеется:
    Какой то XML (xmlfile.xml), сохраненный в текстовом формате в файл. Ниже приведу текст:
    < ?xml version="1.0"?>


    Gambardella, Matthew
    XML Developer’s Guide
    Computer 44.95 2000-10-01 An in-depth look at creating applications
    with XML.



    Ralls, Kim
    Midnight Rain
    Fantasy 5.95 2000-12-16 A former architect battles corporate zombies,
    an evil sorceress, and her own childhood to become queen
    of the world.



    Действия для создание нового:
    Сначала используя утилиту XSD.exe, либо воспользовавшись онлайн сервисами (искать “xml to xsd” один из них http://www.freeformatter.com/xsd-generator.html), мы будем создавать из имеющейся XML ее примитивное XSD описание. На выходе мы будем иметь полностью, автоматическим образом, созданный output.xsd файл, который уже подходит к использованию но может быть не полным.
    Далее, на основе output.xsd, будут созданы классы на языке C# xmlclass.cs. После чего, мы добавляем его в наш проект. Создавать класс можно используя XSD.exe, либо xsd2code утилитой, или же любым онлайн сервисом.
    Теперь мы готовы использовать классы файла xmlclass.cs. Поэтому создадим и наполним данными экземпляры xmlclass, а потом, используя процесс сериализации, будем преобразовывать объекты в XML строку, и после чего сохраним ее в новый файл. Тем самым получим XML на основе имеющегося.
    Приступим!

    Шаг 1. Создание XSD из XML.

    Итак, приведу способы, которыми пользуюсь сам:
    Утилита xsd.exe – создатель Microsoft.
    Утилита xsd2code.exe – стороннее приложение, которое умеет все тоже самое, что и xsd.exe, но доступно для скачивания напрямую (на данный момент стала платной с Trial периодом).
    Использование любых онлайн сервисов.
    Для того, что бы получить XSD.exe, вам придется поставить любой Microsoft SDKs, в поставке которого, идет данное приложение. К сожалению, на данный момент ни одна из студий в своем комплекте не содержит этой утилиты.
    – Ссылка для скачивания и установки одного из SDK:
    Windows SDK for Windows 7 and .NET Framework 4.
    – Далее перейдя в папку:
    C:\Program Files (x86)\Microsoft SDKs\Windows>
    – Воспользуемся поиском, и найдем файл xsd.exe, после чего (что бы упростить себе работу), скопируем его в созданную в корне диска папку C:\xmltoxsd. Далее в эту же папку мы копируем наш xmlfile.xml и все готово к началу.

  8. VideoAnswer Ответить

Добавить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *