我有这样的 XML:
<root>
<customers>
<customer customerId='A001'>
<name>Alex</name>
<address>...</address>
<photo>http://myserver/images/alex.png</photo>
<customer>
<customer customerId='B001'>
<name>Bruce</name>
<address>...</address>
<photo>http://myserver/images/bruce.png</photo>
<customer>
...
</customers>
</root>
它是使用 http client.send 发送的,就像这个例程:
await client.send(request).then((response)
=> response.stream.bytesToString()
.then((value) {
var xmlDoc = xml.parse(value);
var _xmlList = xmlDoc.findAllElements("list").toList();
...
})
).catchError((error) => print(error.toString()));
如何将 XML 转换为列表数组并显示 ListView ?
感谢您的帮助。
最佳答案
使用 xml
包。从这样的导入开始:
import 'package:xml/xml.dart' as xml;
将响应解码为字符串,然后对其进行解析并将其映射到您想要的任何类型的小部件中。我刚刚举了一个最简单的 Text
示例。您可以使用卡片、详细信息、图像等创建自己的复合小部件。
xml.XmlDocument document = xml.parse(response);
List<Text> names = document
.findAllElements('customer')
.map<Text>((e) => Text(e.findElements('name').first.text))
.toList();
在 ListView
中使用生成的小部件列表作为子项。
关于xml - 在 Flutter 中显示来自 XML 的动态 ListView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56267534/