Dart:
Arbeta med XML

Hur man gör:

Dart inkluderar inte inbyggt stöd för XML-hantering i sitt standardbibliotek, vilket kräver användning av tredjepartspaket. Ett populärt paket är xml. För att använda det behöver du först lägga till det i din pubspec.yaml:

dependencies:
  xml: ^5.0.0 // Använd den senaste tillgängliga versionen

Importera sedan paketet i din Dart-fil:

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

Analysera XML:

Antag att du har en XML-sträng som denna:

<String name="greeting">Hej, världen!</String>

Du kan analysera och läsa XML på följande sätt:

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

void main() {
  final xmlString = '<String name="greeting">Hej, världen!</String>';
  parseXml(xmlString);
}

Skapa XML-dokument:

Det är enkelt att skapa ett nytt XML-dokument med xml-paketet:

void createXml() {
  final builder = xml.XmlBuilder();
  builder.processing('xml', 'version="1.0"');
  builder.element('greeting', nest: () {
    builder.attribute('name', 'hello');
    builder.text('Hej, världen!');
  });
  final xmlDocument = builder.buildDocument();
  print(xmlDocument.toXmlString(pretty: true));
}

void main() {
  createXml();
}

Utskrift:

<?xml version="1.0"?>
<greeting name="hello">Hej, världen!</greeting>

Förfråga och Modifiera XML:

För att hitta eller ändra element kan du använda XPath-liknande metoder:

void modifyXml(String xmlString) {
    var document = xml.XmlDocument.parse(xmlString);
    var greeting = document.findAllElements('greeting').first;
    
    // Modifiera 'name'-attributet
    greeting.setAttribute('name', 'greeting_modified');
    
    // Lägga till ett nytt barn-element
    greeting.children.add(xml.XmlElement(xml.XmlName('message'), [], [xml.XmlText('Hejdå!')]));
    
    print(document.toXmlString(pretty: true));
}

void main() {
  final xmlString = '<greeting name="hello">Hej, världen!</greeting>';
  modifyXml(xmlString);
}

Utskrift:

<greeting name="greeting_modified">
  Hej, världen!
  <message>Hejdå!</message>
</greeting>

Dessa exempel demonstrerar grundläggande operationer för att arbeta med XML i Dart. Med xml-paketet kan du analysera, skapa och manipulera XML-dokument för att uppfylla dina applikationskrav.