用minixml加载XML文档时,发现加载生成的树中莫名其妙的多出了很多空结点--不是NULL,而是有结点无数据。刚开始怀疑是minixml版本搞错了,旧版本可能会有bug。然而更新了最新的2.6版的lib,发现还是一样。这个问题困扰了某将近一个下午。后来实在无奈,就用程序自己生成了一个xml文档,保存后关闭,再重新打开加载,竟然没问题!
莫不是minixml只认自家生成的XML文档?奇了怪了!分别打开程序生成的XML文档和自己手敲的文档,对比下,发现问题了:自己在手敲xml文档时,用的文本文档编辑的,为了看上去格式整齐,手动添加了很多换行;而用文本文档打开程序生成的XML文档时,却没有任何换行符!再用IE打开程序生成的XML文档时,格式完全没问题!
重新认真拜读XML的User Manual,发现在一个表格下有几行蓝色小字(好吧,某看文档不认真……):
Mini-XML中的节点类型定义和其他有些解析器有些不同,其中整数、浮点、和文本节点是指在一个XML元素中一系列的使用空格作为分割的值,每个元素可以拥有多个以上节点,并可以选择使用空格分开,如:<abc>aa bb cc</abc>,Mini-MXML在使用参数:MXML_TEXT_CALLBACK进行载入时,将在abc元素下面生成3个text类型的子节点。