Какие бывают xml файлы?

В своей работе, я встречал несколько "видов" XML файлов.
Например:

<?xml version="1.0" encoding="windows-1251"?>
<ROOT>
<REC VALUE="ONE" CODENAME="T21" DATE="01.05.2019" NEWDATE="31.12.2021"/>
<REC VALUE="TWO" CODENAME="D37" DATE="08.01.2014" NEWDATE="31.12.2021"/>
</ROOT>


И вот такой:
<?xml version="1.0" encoding="Windows-1251"?>

<NEW_LIST>

  <ZAGOLOVOK>
    <VERSION>1.0</VERSION>
    <DATE>09-01-2020</DATE>
  </ZAGOLOVOK>
  
  <SUMMARY>
    <NUMBER>34550677</NUMBER>
    <YEAR>2015</YEAR>
  </SUMMARY>

<RECORD>
    <NUMBER_RECORD>1</NUMBER_RECORD>
    <SUBNUMBER>0</SUBNUMBER>
    <CLIENT>
      <ID_CLIENT>904-374-395-424</ID_CLIENT>
      <POL>1</POL>
    </CLIENT>
    <CASE>
      <CASE_NUMBER>18534026</CASE_NUMBER>
      <OK>1</OK>
      <C_TYPE>1</C_TYPE>
      <C_POD>22</C_POD>
      <IDNUM>566743434</IDNUM>    
      <TURN>
        <IDTURN>5680</IDTURN>
        <TVAL>6676766669</TVAL>
        <DONE>1</DONE>        
      </TURN>
    </CASE>
  </RECORD>
  
</NEW_LIST>


Раньше я пробовал работать с данными документами с помощью System.Xml (С#), но получал сообщение о неверной структуре документа. Поэтому приходилось парсить файл, как текстовый файл.

Вопрос - Какие бывают xml файлы и как проверить их на валидность?
То, что есть стандарты и правила написания документа, я знаю и даже где то их читал (давно).
Но, погуглив "xml валидатор", я увидел, что их сейчас несколько.
Для файлов гос компаний одни, для других компаний другие.
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 1
@Hanneman
Оба приведенных вами примера валидны и не являются чем-то отдельным и обособленным - оба имеют как корневые элементы, так и теги (в первом - пустые с атрибутами, во втором же - начальные без атрибутов и конечные).
В XML есть свой стандарт: в элементе атрибуты могут использоваться только в начальном теге и теге пустого элемента. В ваших же примерах: в первом - пустые теги имеют атрибуты, во втором атрибутов нет - просто, потому что они не нужны. Просто почитайте про XML - атрибуты там имеют такое же значение, как и в HTML: не у каждого тега в HTML обязательно проставлять атрибут - ставят там, где он необходим по заданию.

Т.е. если экстраполировать в HTML, то ваш вопрос выглядит так и выглядит странным:
А какие бывают HTML-файлы?
Вот пример 1
<p>
  <img src="example.gif" alt="example" style="width:42px;height:42px;" />
</p>

А вот пример 2
<table>
  <tr>
    <th>Имя</th>
    <th>Фамилия</th>
    <th>Возраст</th>
  </tr>
</table>


В чем разница?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы