У меня есть код, который читается в файле xml в качестве входных данных для компьютерной модели (написан на C++ и скомпилирован с использованием VS2012). После обновления формата XML некоторых входных данных программа перестала считывать файл в его новом формате (код был изменен, чтобы приспособиться к новому формату данных), и после расследования стало ясно, что это произошло потому, что новый формат данных включал комментарии в файле XML, которые синтаксический анализатор xml (msxml6) считал дочерними узлами. Следовательно, первый дочерний узел, который он прочитал, не мог понять, и программа завершила работу, как и было задумано.
Хотя сейчас мы исправили проблему (путем удаления ненужных комментариев из XML-файла), мне интересно, знает ли кто-нибудь, почему синтаксический анализатор считает комментарии дочерними узлами? У меня сложилось впечатление, что парсеры должны игнорировать комментарии?