读取mini-XML 2.7中的多行字段的问题

时间:2016-11-24 23:16:10

标签: c xml multiline

我正在使用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 个答案:

答案 0 :(得分:0)

我找到了解决此问题的方法。

1.-在调用mxmlLoadFile()时使用MXML_OPAQUE_CALLBACK而不是MXML_TEXT_CALLBACK加载XML文件。

2.-使用mxmlGetOpaque()而不是mxmlGetText()。

现在我的代码完美无瑕。