2016-11-24 47 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()。

現在我的代碼完美無缺地工作。