Dart:
Робота з XML

Як:

Dart не включає вбудовану підтримку для роботи з XML у своїй стандартній бібліотеці, що потребує використання сторонніх пакетів. Один із популярних пакетів - xml. Для його використання спочатку вам потрібно додати його до вашого pubspec.yaml:

dependencies:
  xml: ^5.0.0 // Використовуйте останньо доступну версію

Потім імпортуйте пакет у ваш Dart файл:

import 'package:xml/xml.dart' as xml;

Аналіз XML:

Припустимо, у вас є рядок XML, як це:

<String name="greeting">Привіт, світ!</String>

Ви можете аналізувати та читати XML наступним чином:

void parseXml(String xmlString) {
    final document = xml.XmlDocument.parse(xmlString);
    final String content = document.findElements('String').single.getAttribute('name');
    print(content); // Вивід: greeting
}

void main() {
  final xmlString = '<String name="greeting">Привіт, світ!</String>';
  parseXml(xmlString);
}

Створення XML-документів:

Створення нового XML-документа є простим з пакетом xml:

void createXml() {
  final builder = xml.XmlBuilder();
  builder.processing('xml', 'version="1.0"');
  builder.element('greeting', nest: () {
    builder.attribute('name', 'hello');
    builder.text('Привіт, світ!');
  });
  final xmlDocument = builder.buildDocument();
  print(xmlDocument.toXmlString(pretty: true));
}

void main() {
  createXml();
}

Вивід:

<?xml version="1.0"?>
<greeting name="hello">Привіт, світ!</greeting>

Запити та Модифікація XML:

Для пошуку або зміни елементів ви можете використовувати методи, подібні до XPath:

void modifyXml(String xmlString) {
    var document = xml.XmlDocument.parse(xmlString);
    var greeting = document.findAllElements('greeting').first;
    
    // Модифікація атрибуту 'name'
    greeting.setAttribute('name', 'greeting_modified');
    
    // Додавання нового дочірнього елемента
    greeting.children.add(xml.XmlElement(xml.XmlName('message'), [], [xml.XmlText('До побачення!')]));
    
    print(document.toXmlString(pretty: true));
}

void main() {
  final xmlString = '<greeting name="hello">Привіт, світ!</greeting>';
  modifyXml(xmlString);
}

Вивід:

<greeting name="greeting_modified">
  Привіт, світ!
  <message>До побачення!</message>
</greeting>

Ці приклади демонструють основні операції для роботи з XML в Dart. З пакетом xml ви можете аналізувати, створювати та маніпулювати XML-документами, щоб задовольнити вимоги вашого застосунку.