Сборка XML-документа в Dart
Разбор строки - не единственный путь. Класс
XmlBuilder описывает дерево вызовами
element, attribute и text
внутри колбэка nest:
import 'package:xml/xml.dart';
var builder = XmlBuilder();
builder.element('post', nest: () {
builder.attribute('title', 'note');
builder.text('text');
});
print(builder.buildDocument().toXmlString());
Метод buildDocument возвращает
XmlDocument, а toXmlString
печатает готовую разметку. Вложенные теги
задают вложенными nest:
import 'package:xml/xml.dart';
var builder = XmlBuilder();
builder.element('root', nest: () {
builder.element('note', nest: () {
builder.attribute('lang', 'en');
builder.text('memo');
});
});
print(builder.buildDocument().toXmlString());
Соберите документ с корнем catalog и одним
тегом book с атрибутом isbn
"978-0" и текстом "Kotlin guide".
Выведите получившуюся строку XML в консоль.
Соберите корень shipment и два тега
crate с атрибутами weight
"10" и "15". Внутри каждого
crate добавьте label с текстами
"A" и "B". Напечатайте итоговый
XML одной строкой вывода.