Как создать файл xml в visual studio

Обновлено: 07.07.2024

Использование XML комментариев

Создание документированного компонента

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

1. Создание компонента
2. Создание XML файла
3. Тестирование компонента в сценарии развертывания

Шаг 1, создание компонента

Поначалу название этого шага может звучать пугающе, примерно как указание "снимите крышу, отложите" в качестве шага 1 в плане реконструкции вашего дома. Однако процесс создания компонента хорошо описан в нескольких разборах программ, приведенных в MSDN Library & VS documentation; поэтому мы не будем на этом останавливаться, а возьмем простой пример и используем его, чтобы показать, как добавить XML документацию.

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

namespace XMLDeploy1
public class Temperature
public static int CelsiusToFahrenheit(int degreesCelsius)
return ((int)((9/5)*degreesCelsius) + 32);
>

public static int FahrenheitToCelsius(int degressFahrenheit)
return ((int)((5/9)*(degressFahrenheit - 32)));
>
>
>

Обратите внимание, что в компоненте пропущена очень важная часть - документация! Несмотря на сравнительную простоту компонента, в нем есть три момента, где добавленная документация будет чрезвычайно полезна для потребителя компонента. Эти три момента - это документация уровня класса, документация уровня метода и документация уровня параметра.

Чтобы добавить документацию уровня класса, наберите /// в строке над


Затем между автоматически сгенерированными тегами <summary> опишите то, для чего предназначен класс Temperature. Например:

/// <summary>
/// Класс temperature предоставляет функции для преобразования
/// показаний различных шкал температур.
/// </summary>
public class Temperature

Документация уровня метода и параметра примыкает к данному методу, так же как только что добавленная нами документация примыкала к классу. Например, давайте добавим комментарии к методу

public static int CelsiusToFahrenheit(int degreesCelsius)

/// <summary>
/// Преобразовывает градусы Цельсия в градусы по Фаренгейту
/// </summary>
/// Degrees Celsius
/// <returns>Возвращает градусы по Фаренгейту</returns>
public static int CelsiusToFahrenheit(int degreesCelsius)

После применения этих же шагов для создания документации уровня метода и параметра ко второму методу класса, наш пример выглядит так:

namespace XMLDeploy1
/// <summary>
/// Класс temperature предоставляет функции для преобразования
/// показаний различных шкал температур.
/// </summary>
public class Temperature
/// <summary>
/// Преобразовывает градусы Цельсия в градусы по Фаренгейту
/// </summary>
/// Degrees Celsius
/// <returns> Возвращает градусы по Фаренгейту </returns>
public static int CelsiusToFahrenheit(int degreesCelsius)
return ((int)((9/5)*degreesCelsius) + 32);
>

/// <summary>
/// Преобразовывает градусы по Фаренгейту в градусы Цельсия
/// </summary>
/// Degrees Fahrenheit
/// <returns> Возвращает градусы Цельсия</returns>
public static int FahrenheitToCelsius(int degressFahrenheit)
return ((int)((5/9)*(degressFahrenheit - 32)));
>
>
>

Шаг 2, создание XML файла

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

Чтобы создать XML файл, откройте "Solution Explorer", щелкните правой кнопкой проект и выберите "Properties". В открывшемся диалоговом окне выберите "Build" в папке "Configuration Properties".

Рисунок 1. Solution Explorer

Обратите внимание на свойство "XML Documentation File". Введите имя .XML файла, который должен быть сгенерирован.

Комментарий: это имя должно быть таким же, т.к. .DLL или IntelliSense не смогут найти его.

Шаг 3, тестирование компонента в сценарии развертывания

Рисунок 2. Всплывающие подсказки.

Также VS ObjectBrowser сможет теперь видеть компонент и ассоциированную с ним документацию:

Рисунок 3. Инспектор объектов.

Рекомендуемые XML теги:

TagНазначение
<c>Устанавливает шрифт текста таким же, как и шрифт кода
<code>Устанавливает одну или более строк исходного кода или выходных данных программы
<example>Обозначает пример
<exception>Определяет исключительные ситуации, которые может формировать метод
<list><li>Создает список или таблицу
Разрешает добавить структуру к тексту
Описывает параметр метода или конструктора
Показывает, что слово является именем параметра
Документирует возможность безопасного доступа члена
<remarks>Описывает тип
<returns>Описывает значение, возвращаемое методом
<see>Определяет связь
<seealso>Генерирует раздел See Also
<summary>Описывает член типа
<value>Описывает свойство

Таблица 1. Список предопределенных тегов.
Тег: <c>

Этот тег обеспечивает механизм индикации того, что шрифт фрагмента текста описания должен быть таким же, какой используется в блоке кода. (Для строк кода используйте <code>)

Синтаксис: <c>текст который будет отформатирован так же как и код</c>

/// <remarks>Класс <c>Point</c> моделирует координаты точки в 2-х
/// мерном пространстве.</remarks>
public class Point
// .
>

Тег: <code>
Этот тег используется, чтобы применить определенный шрифт к одной или более строкам исходного кода или выходных данных программы. (Для маленьких фрагментов кода в комментариях используйте <c>.)

Синтаксис: <code>исходный код или программный вывод</code>

/// <summary>Этот метод изменяет положение точки
/// на x- и y-смещения.
/// <example>Например:
/// <code>
/// Point p = new Point(3,5);
/// p.Translate(-1,3);
/// </code>
/// результат в <c>p</c>будем иметь значения (2,8).
/// </example>
/// </summary>
public void Translate(int xor, int yor)
X += xor;
Y += yor;
>

Тег: <example>
Этот тег дает возможность вводить пример кода в комментарий, чтобы определить, как могут использоваться метод или другой член библиотеки. Обычно это также влечет за собой использование тега <code>.

Синтаксис: <example>описание</example>

Пример:
Пример смотрите <code>.

Тег: <exception>
Этот тег обеспечивает возможность документировать исключительные ситуации, которые может формировать метод.

Синтаксис: <exception cref="member">description</exception>

cref="member" - Имя члена. Генератор документации проверяет существование данного члена и преобразовывает член в имя канонического элемента в файле документации.

description - Описание обстоятельств, в которых формируется исключительная ситуация.

public class DataBaseOperations
/// <exception cref="MasterFileFormatCorruptException">
/// </exception>
/// <exception cref="MasterFileLockedOpenException">
/// </exception>
public static void ReadRecord(int flag)
if (flag == 1)
throw new MasterFileFormatCorruptException();
else if (flag == 2)
throw new MasterFileLockedOpenException();
// .
>
>

Тег: <list><li>
Этот тег используется для создания списка или таблицы элементов. Он может содержать блок <list><li> для определения строки заголовка таблицы или списка определения. (При описании таблицы необходимо предоставить только входные данные для термина.)

Каждый элемент списка задается блоком <i>. При создании списка определения термин и описание должны быть заданы. Однако для таблицы, маркированного списка или нумерованного списка необходимо только, чтобы было задано описание.

Синтаксис: <term>term</term>
<description>description</description>

term - Определяемый термин.
description - Описание термина.
Или элемент в маркированном списке, или нумерованный список, или определение термина.

public class MyClass
/// <remarks>Пример маркированного списка:
/// [li]
/// [i]
/// <description>Item 1.</description>
/// [/i]
/// [i]
/// <description>Item 2.</description>
/// [/i]
/// [/li]
/// </remarks>
public static void Main ()
// .
>
>

Тег:
Этот тег предназначен для использования в других тегах, таких как <remarks> или <returns>, и разрешает добавление структуры в текст.

Синтаксис: content

content - Текст абзаца.

/// <summary>This is the entry point of the Point class
/// testing program.
/// This program tests each method and operator,
/// and is intended to be run after any non-trvial
/// maintenance has been performed on the Point
/// class.</summary>
public static void Main()
// .
>

Тег:
Этот тег используется для описания параметра метода, конструктора или индексатора.

Синтаксис: description

name - Имя параметра.
description - Описание параметра.

Тег:
Этот тег используется как признак того, что данное слово является параметром. Файл документации может быть обработан так, чтобы отформатировать этот параметр некоторым определенным способом.

Синтаксис: name - Имя параметра.

Тег:
Этот тег разрешает документирование возможности безопасного доступа к члену.

Синтаксис: description

cref="member" - Имя члена. Генератор документации проверяет существование данного элемента кода и преобразовывает член в имя канонического элемента в файле документации.
description - Описание доступа к члену.
Пример:

/// Everyone can
/// access this method.
public static void Test()
// .
>

Тег: <remarks>
Этот тег используется для включения обзорной информации о типе. (Для описания типа членов используйте <summary>.)

Синтаксис: <remarks>description</remarks>

description - Текст комментариев.

/// <remarks>Class <c>Point</c> models a point in a two-dimensional
/// plane.</remarks>
public class Point
// .
>

Тег: <returns>
Этот тег используется для описания возвращаемого методом значения.

Синтаксис: <returns>description</returns>

description - Описание возвращаемого значения.

Тег: <see>
Этот тег обеспечивает возможность задавать связь в тексте. (Для обозначения текста, который должен появиться в секции See Also, используйте <seealso>.)

cref="member" - Имя члена. Генератор документации проверяет существование данного элемента кода и передает член в имя элемента в файле документации.

Тег: <seealso>
Этот тег обеспечивает возможность генерировать элемент для секции See Also. (Используйте <see> для задания связи из текста.)

Синтаксис: <seealso cref="member"/>

cref="member" - Имя члена. Генератор документации проверяет существование данного элемента кода и передает член в имя элемента в файле документации.

/// <summary>This method determines whether two Points have the /// same location.
</summary>
/// <seealso cref="operator=="/>
/// <seealso cref="operator!="/>
public override bool Equals(object o)
// .
>

Тег: <summary>
Этот тег может использоваться для описания члена для типа. (Используйте <remarks> для описания самого типа.)

Синтаксис: <summary>description</summary>

description - Краткое описание члена.

/// <summary>This constructor initializes the new Point to
/// (0,0).</summary>
public Point() : this(0,0)
>

Тег: <value>
Этот тег обеспечивает возможность описывать свойство.

В Visual Studio существует множество способов работы с xml (все они находятся в пространстве имен System.Xml):

  • XmlTextReader, XmlTextWriter;
  • XmlDocument;
  • Linq.XDocument;
  • Schema.XmlSchema.

На мой взгляд, самый простой, гибкий и интуитивно понятный способ обработки xml файла – с помощью классов XmlTextReader и XmlTextWriter. К тому же он показывает весьма неплохие результаты по скорости работы.

Материал подается последовательно, поэтому если вам нужно просто посмотреть пример работы с xml, можете сразу перейти к интересующему разделу:

Подключим в нашем проекте пространства имен:

Для демонстрации примера нам понадобятся два класса: «Автор» и «Книга»:

Класс Author содержит сведения об авторе: ФИО, дата рождения, пол и список книг.

Класс Book содержит идентификатор книги (уникальный в пределах одного автора), название и количество страниц.

Напишем функцию ReadXml по чтению xml файла. На вход подадим имя нашего файла author.xml, на выходе получим прочитанного автора.

Примечание: при чтении тега, который подразумевает вложенность, нужно помимо проверки reader.IsStartElement("Книга") еще проверять, что этот элемент не пустой !reader.IsEmptyElement. Иначе при наличии такой конструкции <книга /> (т.е. открывающийся тег является и закрывающимся) программа войдет во вложенный цикл и уже не выйдет из него до окончания xml файла.

Теперь напишем функцию WriteXml. На вход подадим имя нового файла newAuthor.xml и сформированный предыдущей функцией Author.

Функция WriteStartDocument() формирует объявление XML. Это строка, указывающая версию XML документа. В версии 1.0 объявление XML может отсутствовать, в версии 1.1 оно является обязательным. Также здесь указывается кодировка символов. В нашем случае функция версия вернет строку <?xml version="1.0" encoding="windows-1251"?>

Вложенные теги создаются с помощью функции WriteStartElement(). На каждый WriteStartElement() должен быть закрывающий его WriteEndElement().

XML используется повсюду от веб-служб, баз данных, конфигурационных файлов, до офисных документов. Эта статья познакомит вас с инструментальной поддержкой предлагаемой Visual Studio 2008, которая облегчает работу с XML. В статье рассматривается редактирование XML файлов, работа со схемами XML, отладка стилевых таблиц XSLT и расширение Visual Studio при помощи написания собственных XML дизайнеров.

Когда вы открываете XML файл в Visual Studio 2008 (например .xml, .xsd, .xslt, .svg или .config), вы запускаете встроенный редактор XML. XML редактор поставляется с полным набором функций который можно ожидать от редактора Visual Studio, включая IntelliSense, раскраску кода, подсветку скобок, сворачивание/разворачиваине и форматирование кода. Он предоставляет полную проверку синтаксиса XML 1.0, завершение тэгов, также как и поддержку схемы XML с валидацией в реальном времени.

Редактирование XML файлов

Нужно признать, что ручное редактирование XML-файлов может быть очень утомительным и отнимать много времени. Чтобы помочь в этом XML редактор Visual Studio 2008 поставляется с большим количеством функций для улучшения производительности. Одной из таких функций является расширяемая библиотека фрагментов XML кода — XML файлов которые содержат конфигурируемые участки кода, которые выступают в роли шаблонов для использования во время редактирования документа. С Visual Studio устанавливается много файлов фрагментов XML кода, которые помогают разработчикам при написании схем XML и стилевых страниц XSLT. Чтобы вызвать фрагмент во время редактирования XML-файла, выберите «Insert Snippet» («Вставить Фрагмент») из меню «Edit > IntelliSense» («Редактировать > IntelliSense»). Как только вы вставили фрагмент, вы можете перемещаться между подсвеченными полями, которые можно изменять клавишей TAB, чтобы вводить данные. На Рисунке 1 показан пример вставки фрагмента.

image

Рисунок 1: Вызов фрагмента XML кода в Visual Studio 2008.

Вы также можете записывать ваши собственные фрагменты. Если вы хотите создать простой фрагмент, выполните следующие шаги:

Создайте XML файл и наберите в нем:
<snippet
Нажмите ESCAPE, чтобы закрыть окно IntelliSense.
Нажмите TAB.
Введите значение.
Нажмите ENTER для завершения.

Для более подробной информации Я рекомендую публикацию в блоге редактор Visual Studio
«Code Snippet — Schema Description».

Что вы будете делать, когда нету готовых фрагментов XML кода, а вам нужно создать XML файл основанный на существующей схеме? Редактор XML предлагает широкий диапазон возможностей при помощи которых вы можете ассоциировать ваши XML документы с XML схемами. IntelliSense основанные на схеме, валидацию в режиме реально времени, а также отчет об ошибках это всего несколько из них. В дополнение к названному, XML редактор может динамически генерировать фрагменты кода основанные на существующей схеме. После того как вы предоставили имя элемента который нужно добавить XML редактор может проанализировать схему на требующуюся информацию, сгенерировать фрагмент кода и вставить его для вас. Чтобы вызвать функции динамического построения фрагментов XML кода все что вам нужно сделать, набрать имя элемента также как это показано в следующем примере:

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

По умолчанию XML редактор генерирует только требующееся содержимое, но это поведение может быть переопределено при помощи аннотаций в XML схемах. Больше информации вы найдете в MSDN под заголовком, «How to: Generate an XML Snippet From an XML Schema».

Кеш схемы и каталоги Схем

Для продвинутых пользователей XML редактор предлагает такие функций как кеш схемы каталоги файлов схем. Кеш схемы это папка которая содержит множество хорошо известных W3C схем, также как и много схем конкретно созданных Microsoft или связанных с их технологиями. Она служит как репозиторий широко используемых схем, которые обычно не меняются. Вы найдете расположение схем по умолчанию в %vsinstalldir%\xml\schemas, где "%vsinstalldir%" это переменная представляющая расположение в которое установлена Visual Studio. Когда вы объявляете одно из пространств имен определенных этими схемами в ваших XML файлах, редактор будет автоматически ассоциировать соответствующие схемы из расположения кеша и быстро предоставлять IntelliSense и валидацию для этой схемы.

Каталог схем это XML файлы размещающиеся в директории кеша схем (файл catalog.xml по умолчанию). Они дают продвинутым пользователям более точный контроль над различными пространствами имен, которые они возможно будут использовать. Например, вы можете ассоциировать определенные пространства имен с внешними источниками:

<Schema
href="mylocation/myschema.xsd"
targetNamespace="http://myschema"/>

Вы также можете использовать файлы каталогов для создания ассоциаций между файлами схемы и расширениями файлов вам может быть это иногда полезно, когда схема не имеет targetNamespace:

<Association
extension="config"
schema="xml/schemas/dotNetConfig.xsd"/>

Нововведение в Visual Studio 2008, вы также можете добавлять условия:

<Association
extension="config"
schema="xml/schemas/dotNetConfig30.xsd"
condition="%TargetFrameworkVersion% = 3.0" />

Наконец, вы можете создать цепочку ссылаясь из одного файла каталога на другой:

Работа с большими файлами

Другая важная функция редактирования которую я хотел бы отметить это поддержка редактором XML больших файлов. Хотя вы и могли работать с большими файлами в предыдущих версиях, Visual Studio 2008 поддерживает инкрементальный анализ XML документов. Теперь, если вы работаете с файлом размером 10 Мб, вам не нужно ждать пока Visual Studio проанализирует файл целиком каждый раз как вы внесли изменения. XML редактор изолирует правки и переанализирует только те части которые требуется, предлагая таким образом лучшую производительность и отклик.

Я описал лишь несколько интересных функций XML редактора, но очевидно, нельзя рассмотреть здесь все из них. Таблица 1 показывает некоторые из функций которые доступны пользователям Visual Studio.

Функция
Поддержка в Visual Studio 2008

Автозавершение
X
Подсветка синтаксиса
X
Сворачивание/Разворачивание кода
X
IntelliSense
X
Расширяемая библиотека фрагментов кода
X
Динамические фрагменты кода
X
Переход к определению (из XML к XSD)
X
Навигация назад/вперед
X
Поддержка проекта и профиля пользователя
X
Валидация в режиме реального времени
X
Полная поддержка XSD
X
Поддержка пространств имен
X
Поддержка DTD
X
Генерация XSD по XML
X
Конвертация DTD в XSD
X
Поддержка Юникода
X
Поддержка больших файлов (10 Мб+)
X

Отладка стилевых таблиц XSLT

XSLT является стандартным языком трансформаций утвержденным W3C, который очень популярен среди большой группы разработчиков. Редакция Visual Studio Professional предоставляет поддержку редактирования и отладки стилевых таблиц XSLT. Редактирование файлов XSLT подобно редактированию XML файлов. Когда речь заходит об отладке XSLT, Visual Studio поддерживает два главных сценария:

Отладка отдельной трансформации, которая полезна, когда вашим изначальным интересом является документ на входе, собственно трансформация и документ на выходе.
Интегрированная в CLR отладка, которая полезна для отладки трансформаций в контексте вашего CLR приложения.

Отладка отдельных трансформаций

Рисунок 2 демонстрирует среду отладки, в момент когда вы работаете с XSLT трансформациями. В конфигурации по умолчанию, вы можете видеть XSLT файл и вкладки видов ввода документа и вывода документа. Вы также можете сконфигурировать Visual Studio, чтобы одновременно отображались все три документа. Когда вы проходите через код трансформации, вы можете видеть входящие данные, трансформацию которая обрабатывает этот ввод и генерацию выходного файла.

image

Рисунок 2: Отладка отдельных XSLT трансформаций.

CLR-интегрированная отладка

XslCompiledTransform xsltcmd =
new XslCompiledTransform( true );
xsltcmd.Load(XSLTFile);
XmlUrlResolver resolver = new XmlUrlResolver();
XmlWriter writer = XmlWriter.Create(OutputFile);

* This source code was highlighted with Source Code Highlighter .

Если вы установите точку останова на вызове метода и пройдете в него, отладчик покажет вам стилевую таблицу XSLT (Рисунок 3). Все функции описанные в разделе отладки отдельной таблицы стилей также применимы здесь. Единственным исключением является возможность устанавливать точки останова в файлах данных. Эта функция не доступна, когда вы переходите из в XSLT из другой программы на CLR. Все остальное будет вести себя точно также как описано в выше.

image

Таблица 2 представляет сводку различных функций доступных во время отладки XSLT трансформаций.

Feature

Visual Studio 2008 Support

Browser view
X
Locals, watch, call stack
X
Viewing input XML, output, and XLST during debugging
X
Breakpoints in XML
X
Breakpoints in XSLT
X
CLR language debugger integration
X

Расширение инструментов XML

image

Рисунок 4: Старый способ создания пользовательских XML дизайнеров поверх XML редактора.

С другой стороны в XML редакторе есть свой собственный анализатор с восстановлением после ошибок. Она также создает свое собственное дерево анализа представляющее содержимое буфера. В Visual Studio 2008, Microsoft открыла это дерево LINQ to XML сторонним разработчикам. Новая архитектура показана на Рисунке 5. Новое API позволяет разработчикам создавать пользовательские виды поверх дерева анализа XML редактора, предоставляющие им логику восстановления после ошибок XML редактора и дерево анализа LINQ to XML с транзакциями по обновлению, результаты выполнения которых появляются в буфере интегрированным Visual Studio UndoManager. Эти изменения облегчают разработчикам создание XML инструментов поверх Visual Studio 2008.



Файлы xml используются во многих областях программирования. Данный формат позволяет создавать практически любые теги и декларации.

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

К примеру, это могут быть новые страницы и прочее. В этом материале вы узнаете, как происходит создание файлов в подобном формате.

Как создать файл XML

Если вам потребовалось создать файл XML, тогда можно воспользоваться одним из вариантов:

  • Visual Studio.
  • MS Excel.
  • Блокнот и другие программы.

У каждого из вышеперечисленных способов имеется свои нюансы, с которыми стоит познакомиться поближе.

Создание файла XML в Visual Studio

Visual Studio – более улучшенная, многофункциональная версия «Блокнота».

Как создать файл xml

Для её использования, сначала нужно скачать и установить программу, а затем:

  • В левом верхнем углу программы, нужно нажать на «Файл» и выбрать пункт «Создать».
  • Далее, в новом системном окне выбираете соответствующий тип файла и в правом нижнем углу нажимаете «Открыть».
  • Затем прописываете всю необходимую информацию.
  • Для сохранения данных выбираете «Сохранить всё».

Во время сохранения проследите, чтобы расширение было XML.

Как создать xml файл в Excel

Ещё одним способом, по созданию файла XML, является использование MS Excel:

  • Сначала запускаете MS Excel и посредством использования одного из языков программирования вводите все требуемые команды в таблицу.
  • Далее, в верхнем левом углу нажимаете на кнопку Microsoft Office и выбираете раздел «Сохранить как».
  • В графе «Тип файла» из списка выбираете « XML-данные» и кликаете по «Сохранить».


Как создать xml файл в блокноте

Вариант создания файла формата XML через Блокнот, более сложный, по сравнению с ранее приведёнными способами.

В этом случае придётся самостоятельно прописывать все необходимые команды и теги.

Итак, чтобы создать XML-файл с помощью утилиты «Блокнот» потребуется:

  • Сначала создаётся новый текстовый документ. То есть на рабочем столе или в любой папке, по пустому месту нужно щелкнуть правой клавишей мыши и выбрать пункт «Создать», а затем кликаете по «Текстовый документ».
  • Далее задаётся кодировка файла с указанием его формата. Для этого используется следующая команда без кавычек: «<?xml version=”1.0” encoding=”utf-8”?>».

Затем создаётся первый каталог<root>. Для закрытия каталога применяется символ «/». Таким образом, на второй строчке документа прописываете тег </root>.

  • Для завершения работы в правом верхнем углу «Блокнота», нажимаете на «Файл» и выбираете «Сохранить как…». В графе «Имя файла», после точки указываете расширение XML и нажимаете на «Сохранить».

Блокнот хорошо использовать для небольших и несложных таблиц с командами для xml-файлов. Дело в том, что в данной утилите не предусмотрена возможность удаления и исправления ошибок в коде.

Также, ошибки не будут подсвечиваться и, соответственно, если файл небольшой, то найти недочёт не составит особого труда. То есть для более серьёзной работы с данным форматом, лучше воспользоваться другим способом.

Для решения вопроса о том, как создать файл XML, имеется несколько довольно простых способов. Кроме этого, не обязательно прописывать все команды самостоятельно.

Поскольку, при желании, можно воспользоваться специально предназначенными для этого компиляторами.

Читайте также: