2016-11-24 1 views
0

Ich benutze C mit Mini-XML 2.7 und ein XML-Dokument lesen. Alles ist in Ordnung, außer, dass mein XML hat einen Abschnitt, der wie folgt aussieht:Probleme beim Lesen eines mehrzeiligen Feldes in 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> 

Mein Code analysiert alle XML einwandfrei hier unten. Dann versuche ich die CSV-Werte zu lesen, indem diese mit:

s = mxmlGetText(node, &has_space); 

Aber gleich danach, eine printf() Aussage wie diese

printf("s='%s'", s); 

Zeigt nur die erste Zeile.

970,970,970,0,0,0,0,0,0,0, 

Ich möchte die Zeilen unterhalb der ersten Zeile lesen, aber versucht, ohne Glück mxmlGetText() wieder zu verwenden. Und alle Zeilen werden mit mxmlSaveFile() angezeigt.

Wie bekomme ich alle Zeilen? Danke im Voraus.

Antwort

0

Ich habe eine Lösung für dieses Problem gefunden.

1.-Laden der XML-Datei mit MXML_OPAQUE_CALLBACK anstelle von MXML_TEXT_CALLBACK im Aufruf von mxmlLoadFile().

2.-Verwendet mxmlGetOpaque() statt mxmlGetText().

Jetzt funktioniert mein Code einwandfrei.

Verwandte Themen