2016-11-24 19 views
0

我在C中使用mini-XML 2.7并阅读XML文档。一切都很好,只是我的XML有一个部分,看起来像这样:在mini-XML中读取多行字段的问题2.7

<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

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

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

2.使用mxmlGetOpaque()代替mxmlGetText()。

现在我的代码完美无缺地工作。