UseDevTools:/xml/validate

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

Наберите или вставьте XML, который вы хотите проверить

Назначение

Инструмент "проверка XML на соответствие формату (validate XML)" позволит Вам проверить данные на соответствие формату XML.

Использование

Для того, чтобы проверить XML, введите его в поле ввода (или вставьте из буфера обмена) и нажмите кнопку "Проверить". Отформатированная строка будет находиться в панели результатов, которая появится ниже. Для очистки поля ввода, нажмите кнопку "Очистить". Нажатием кнопки "Копировать", Вы сможете скопировать преобразованный текст в буфер обмена.

Немного Wiki...

Все составляющие части документа обобщаются в пролог и корневой элемент. Корневой элемент — обязательная часть документа, составляющая всю его суть (пролог, вообще говоря, может отсутствовать). Может включать (а может не включать) вложенные в него элементы и символьные данные, а также комментарии. Вложенные в корневой элемент элементы, в свою очередь, могут включать вложенные в них элементы, символьные данные и комментарии, и так далее. Пролог может включать объявления, инструкции обработки, комментарии. Его следует начинать с объявления XML, хотя в определённой ситуации допускается отсутствие этого объявления.

Элементы документа должны быть правильно вложены: любой элемент, начинающийся внутри другого элемента (то есть любой элемент документа, кроме корневого), должен заканчиваться внутри элемента, в котором он начался. Символьные данные могут встречаться внутри элементов как непосредственно так и в специальных секциях «CDATA». Объявления, инструкции обработки и элементы могут иметь связанные с ними атрибуты. Атрибуты используются для связывания с логической единицей текста пар имя-значение.

Материал из Википедии — свободной энциклопедии.

Реализация инструмента на языке программирования C#

Для проверки XML в вашем коде на валидность (отсутствие ситнаксических ошибок), вы можете использовать класс «XmlDocument»:

using System;
using System.Xml;

namespace Utilities
{
  public class XMLValidate
  {
    public bool Validate(string Text, out string Error)
    {
      try
      {
        XmlDocument doc = new XmlDocument();
        doc.LoadXml(Text);
        return true;
      }
      catch (Exception ex)
      {
        Error = $"Неверный формат XML строки: {ex.Message}";
        return false;
      }
    }
  }
}