我有一些代码读取 xml 文件作为计算机模型的输入(用 C++ 编写并使用 VS2012 编译)。在更新了一些输入数据的 XML 格式后,软件停止以新格式读取文件(代码已更改以适应新的数据格式),经过调查,很明显这是因为新的数据格式包括 XML 文件中的注释,xml 解析器 (msxml6) 将其计为子节点。因此,它读取的第一个子节点无法理解,软件按设计退出。
虽然我们现在已经解决了这个问题(通过从 XML 文件中删除非严格必要的注释),但我想知道是否有人知道为什么解析器认为这些注释是子节点?我的印象是注释应该被解析器忽略?