Dart:
Työskentely XML:n kanssa
Kuinka tehdä:
Dart ei sisällä sisäänrakennettua tukea XML:n käsittelyyn sen standardikirjastossa, mikä edellyttää kolmansien osapuolten pakettien käyttöä. Yksi suosittu paketti on xml
. Käyttääksesi sitä, sinun on ensin lisättävä se pubspec.yaml
-tiedostoosi:
dependencies:
xml: ^5.0.0 // Käytä saatavilla olevaa uusinta versiota
Tuo sitten paketti Dart-tiedostoosi:
import 'package:xml/xml.dart' as xml;
XML:n jäsennys:
Oletetaan, että sinulla on XML-merkkijono kuten tämä:
<String name="greeting">Hei, maailma!</String>
Voit jäsentää ja lukea XML:n seuraavasti:
void parseXml(String xmlString) {
final document = xml.XmlDocument.parse(xmlString);
final String content = document.findElements('String').single.getAttribute('name');
print(content); // Tulostaa: greeting
}
void main() {
final xmlString = '<String name="greeting">Hei, maailma!</String>';
parseXml(xmlString);
}
XML-dokumenttien luominen:
Uuden XML-dokumentin luominen on suoraviivaista xml
-paketilla:
void createXml() {
final builder = xml.XmlBuilder();
builder.processing('xml', 'version="1.0"');
builder.element('greeting', nest: () {
builder.attribute('name', 'hello');
builder.text('Hei, maailma!');
});
final xmlDocument = builder.buildDocument();
print(xmlDocument.toXmlString(pretty: true));
}
void main() {
createXml();
}
Tuloste:
<?xml version="1.0"?>
<greeting name="hello">Hei, maailma!</greeting>
XML:n tiedustelu ja muokkaus:
Elementtien löytämiseen tai muokkaamiseen voit käyttää XPathin kaltaisia menetelmiä:
void modifyXml(String xmlString) {
var document = xml.XmlDocument.parse(xmlString);
var greeting = document.findAllElements('greeting').first;
// Muokataan 'name'-attribuuttia
greeting.setAttribute('name', 'greeting_modified');
// Lisätään uusi lapsielementti
greeting.children.add(xml.XmlElement(xml.XmlName('message'), [], [xml.XmlText('Näkemiin!')]));
print(document.toXmlString(pretty: true));
}
void main() {
final xmlString = '<greeting name="hello">Hei, maailma!</greeting>';
modifyXml(xmlString);
}
Tuloste:
<greeting name="greeting_modified">
Hei, maailma!
<message>Näkemiin!</message>
</greeting>
Nämä esimerkit osoittavat perustoiminnot XML:n käsittelyyn Dartissa. xml
-paketin avulla voit jäsentää, luoda ja manipuloida XML-dokumentteja sovelluksesi vaatimusten mukaisesti.