我正在使用C和mini-XML 2.7,并阅读XML文档。一切都很好,除了我的XML有一个看起来像这样的部分:
<layer name="pattern1" width="100" height="40">
<data encoding="csv">
970,970,970,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,
1089,0,4,765,21,
0,1089,0,0,0,0,0,0,0,0,0,0,0,0,0
</data>
</layer>
我的代码完美地解析了所有XML。然后我尝试使用以下方法读取CSV值:
s = mxmlGetText(node, &has_space);
但在此之后,这样的printf()
语句
printf("s='%s'", s);
仅显示 第一行。
970,970,970,0,0,0,0,0,0,0,
我想阅读第一行下方的行,但尝试再次使用mxmlGetText()
而没有运气。并且使用mxmlSaveFile()
显示所有行。
我怎样才能获得所有线路?提前致谢。
答案 0 :(得分:0)
我找到了解决此问题的方法。
1.-在调用mxmlLoadFile()时使用MXML_OPAQUE_CALLBACK而不是MXML_TEXT_CALLBACK加载XML文件。
2.-使用mxmlGetOpaque()而不是mxmlGetText()。
现在我的代码完美无瑕。