我正在使用 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()
显示。
如何获取所有行?提前致谢。
最佳答案
我找到了解决这个问题的方法。
1.-在调用 mxmlLoadFile() 时使用 MXML_OPAQUE_CALLBACK 而不是 MXML_TEXT_CALLBACK 加载 XML 文件。
2.-使用 mxmlGetOpaque() 代替 mxmlGetText()。
现在我的代码可以完美运行。
关于c - 读取 mini-XML 2.7 中的多行字段时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40795666/