次の構造の XML ファイルがあります。
<?xml version='1.0' encoding='UTF8'?>
<root>
<row filter="FILTER STRING"> // THIS IS THE FIRST "ROW"
<id>100</id>
<name>Some nome here</name>
<text>TEXT CONTENT HERE</text>
</row>
<row filter="FILTER STRING"> // THIS IS THE SECOND "ROW"
<id>101</id>
<name>Some nome here</name>
<text>TEXT CONTENT HERE</text>
</row>
</root>
たった 1 つの XML ファイルに多数の行ノードがあり、この構造を変更することはできません。
では、XML パッケージを使用して、特定のノードからテキスト コンテンツを取得できるようにするには、どうすればよいでしょうか?
たとえば、2 行目の「name」というノードからテキストを取得したいと考えています。
編集:
ここのところ:
void main() {
_readFile("test_UTF8.xml").then((xmlContent) {
var parsedXml = parse(xmlContent);
parsedXml.findAllElements("row").forEach((row) {
// EACH "ROW" NODE WILL BE ITERATED HERE.
// READ "ROW" CHILDREN NODES HERE.
// FOR EXAMPLE: GET "NAME"'S TEXT CONTENT.
});
});
}
Future _readFile(String filename) {
var completer = new Completer();
new File(filename).readAsString().then((String xmlContent) {
completer.complete(xmlContent);
});
return completer.future;
}