我try 使用以下代码从XPath获取属性值:
import 'package:xml/xml.dart';
import 'dart:async';
import 'dart:io';
import 'package:xml/xpath.dart';
final bookshelfXml = '''
<?xml version="1.0" encoding="utf-8"?>
<document id="doc1">
<line id="1">
<data id="D1" value="20" />
<data id="D2" value="40" />
</line>
<line id="2">
<data id="D1" value="90" />
<data id="D2" value="340" />
</line>
</document>''';
final nn=[];
final document = XmlDocument.parse(bookshelfXml);
void main (List<String> arguments) {
final document = XmlDocument.parse(bookshelfXml);
final nodes = document.xpath('/document/line[@id="1"]/*/@id');
for (final node in nodes) {
nn.add(node);
}
for (var i=0; i<nn.length; i++) {
print('id${i+1} is ${nn[i]}');
}
}
这里的期望是
id1 is D1
id2 is D2
但我有
id1 is id="D1"
id2 is id="D2"
我需要帮助我提取属性值(d1,d2)的解决方案,而不是具有属性名称(id="d1",id="d2")的值.