Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗dtSpXmAtr 184 of 224 menu
◀ ▶

Атрибут XML-тега в Dart

Атрибуты пишут в открывающей скобке тега. Текст между тегами остается содержимым узла:

<root> <unit id="7" stock="12">widget</unit> </root>

Имя атрибута передают в getAttribute, а подпись элемента - через innerText:

import 'package:xml/xml.dart'; var xml = ''' <root> <unit id="7" stock="12">widget</unit> </root> '''; var doc = XmlDocument.parse(xml); var root = doc.rootElement; var unit = root.getElement('unit')!; print(unit.innerText); print(unit.getAttribute('id')); print(unit.getAttribute('stock'));

У каждого повторяющегося тега свой набор атрибутов и свой текст:

<root> <lot sku="a1" qty="2">bolt</lot> <lot sku="b2" qty="5">nut</lot> <lot sku="c3" qty="1">washer</lot> </root>

Цикл по findElements сочетает innerText и getAttribute для каждого узла:

import 'package:xml/xml.dart'; var xml = ''' <root> <lot sku="a1" qty="2">bolt</lot> <lot sku="b2" qty="5">nut</lot> <lot sku="c3" qty="1">washer</lot> </root> '''; var doc = XmlDocument.parse(xml); var root = doc.rootElement; for (var lot in root.findElements('lot')) { print(lot.innerText); print(lot.getAttribute('sku')); print(lot.getAttribute('qty')); }

Дан следующий код:

import 'package:xml/xml.dart'; var xml = ''' <root> <user age="23" salary="1000">john</user> </root> ''';

Выведите в консоль имя, возраст и зарплату юзера.

Дан следующий код:

import 'package:xml/xml.dart'; var xml = ''' <root> <product cost="100" amount="3"> prod1 </product> <product cost="200" amount="4"> prod2 </product> <product cost="300" amount="5"> prod3 </product> </root> ''';

Выведите в консоль название, цену и количество каждого продукта.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить