В двух словах, его последовательность.До широкого использования XML существовало множество недокументированных форматов для хранения информации в файлах.Одним из мотиваторов XML было создание четко определенного стандартного формата документа.С этим четко определенным форматом можно было бы разработать общий набор инструментов синтаксического анализа, которые будут последовательно работать с документами, если документы придерживаются вышеупомянутого четко определенного формата.
В некоторых конкретных случаях ваш пример кода будет работать.Однако, если документ изменится
...
<!-- adding an attribute -->
<a_tag foo="bar">Contents of the Tag</a_tag>
...
...
<!-- adding a comment to the contents -->
<a_tag>Contents <!-- foobar --> of the Tag</a_tag>
...
Ваш код синтаксического анализа, вероятно, сломается.Код, написанный с использованием правильно определенного анализатора XML, не будет.