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">Hello, world!</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">Hello, world!</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('Hello, world!');
  });
  final xmlDocument = builder.buildDocument();
  print(xmlDocument.toXmlString(pretty: true));
}

void main() {
  createXml();
}

出力

<?xml version="1.0"?>
<greeting name="hello">Hello, world!</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('Goodbye!')]));
    
    print(document.toXmlString(pretty: true));
}

void main() {
  final xmlString = '<greeting name="hello">Hello, world!</greeting>';
  modifyXml(xmlString);
}

出力

<greeting name="greeting_modified">
  Hello, world!
  <message>Goodbye!</message>
</greeting>

これらの例では、DartでXMLを扱うための基本的な操作を示しています。xmlパッケージを使用すると、アプリケーションの要件に合わせてXMLドキュメントを解析、作成、および操作することができます。