Dart:
Lavorare con XML
Come fare:
Dart non include il supporto incorporato per la gestione dell’XML nella sua libreria standard, rendendo necessario l’uso di pacchetti di terze parti. Un pacchetto popolare è xml
. Per usarlo, devi prima aggiungerlo al tuo pubspec.yaml
:
dependencies:
xml: ^5.0.0 // Usa l'ultima versione disponibile
Poi, importa il pacchetto nel tuo file Dart:
import 'package:xml/xml.dart' as xml;
Analizzare XML:
Supponiamo che tu abbia una stringa XML come questa:
<String name="greeting">Ciao, mondo!</String>
Puoi analizzare e leggere l’XML come segue:
void parseXml(String xmlString) {
final document = xml.XmlDocument.parse(xmlString);
final String content = document.findElements('String').single.getAttribute('name');
print(content); // Stampa: greeting
}
void main() {
final xmlString = '<String name="greeting">Ciao, mondo!</String>';
parseXml(xmlString);
}
Creare Documenti XML:
Creare un nuovo documento XML è semplice con il pacchetto xml
:
void createXml() {
final builder = xml.XmlBuilder();
builder.processing('xml', 'version="1.0"');
builder.element('greeting', nest: () {
builder.attribute('name', 'hello');
builder.text('Ciao, mondo!');
});
final xmlDocument = builder.buildDocument();
print(xmlDocument.toXmlString(pretty: true));
}
void main() {
createXml();
}
Output:
<?xml version="1.0"?>
<greeting name="hello">Ciao, mondo!</greeting>
Interrogare e Modificare XML:
Per trovare o modificare elementi, puoi usare metodi simili a XPath:
void modifyXml(String xmlString) {
var document = xml.XmlDocument.parse(xmlString);
var greeting = document.findAllElements('greeting').first;
// Modifica dell'attributo 'name'
greeting.setAttribute('name', 'greeting_modified');
// Aggiunta di un nuovo elemento figlio
greeting.children.add(xml.XmlElement(xml.XmlName('message'), [], [xml.XmlText('Arrivederci!')]));
print(document.toXmlString(pretty: true));
}
void main() {
final xmlString = '<greeting name="hello">Ciao, mondo!</greeting>';
modifyXml(xmlString);
}
Output:
<greeting name="greeting_modified">
Ciao, mondo!
<message>Arrivederci!</message>
</greeting>
Questi esempi dimostrano le operazioni di base per lavorare con XML in Dart. Con il pacchetto xml
, puoi analizzare, creare e manipolare documenti XML per soddisfare i requisiti della tua applicazione.