私はアプリケーションが生成しようとしているXMLをいくつか持っています。この例では、</element>
タグから "value"という値を解析しようとしていますが、QXmlStreamReaderは<value/>
の後に何かを読み込もうとしていますが、 "<value/>
"QXmlStreamReaderの読み取り<element><value/></element>
ソースXMLが正しくないか、QXmlStreamReaderからこの値を取得する方法がありますか?
QString str = "<element><value/></element>";
QXmlStreamReader xml(str);
while (!xml.atEnd()) {
xml.readNext();
qDebug() << xml.name() << xml.readElementText();
}
if (xml.hasError()) {
// Prints "Expected character data. 17"
qDebug() << xml.errorString() << xml.characterOffset();
}
誰にも提案はありますか?
あなたのXMLが正しく形成されています。 QXmlStreamReaderを使用しているので、Qt 4.8を使用していると仮定します。あなたが[この質問への受け入れられた答え](http://stackoverflow.com/questions/4201175/why-cant-i-parse-a-xml-file-using-qxmlstreamreader-from-qt)を見れば、それはXMLパーサーはやや奇妙な振る舞いをしていますか? –
xmlに要素の値はありません。あなたは何を解析したいですか?また、現在の要素が開始要素の場合は、値を読み取る必要があります。したがって、あなたのコードに 'if(xml.isStartElement())...'を追加してください。 –
vahancho