Dart:
Trabajando con XML
Cómo hacerlo:
Dart no incluye soporte integrado para el manejo de XML en su biblioteca estándar, lo que hace necesario el uso de paquetes de terceros. Un paquete popular es xml
. Para usarlo, primero necesitas agregarlo a tu pubspec.yaml
:
dependencies:
xml: ^5.0.0 // Usa la última versión disponible
Luego, importa el paquete en tu archivo Dart:
import 'package:xml/xml.dart' as xml;
Analizando XML:
Supón que tienes una cadena XML como esta:
<String name="greeting">Hola, mundo!</String>
Puedes analizar y leer el XML de la siguiente manera:
void parseXml(String xmlString) {
final document = xml.XmlDocument.parse(xmlString);
final String content = document.findElements('String').single.getAttribute('name');
print(content); // Muestra: greeting
}
void main() {
final xmlString = '<String name="greeting">Hola, mundo!</String>';
parseXml(xmlString);
}
Creando Documentos XML:
Crear un nuevo documento XML es sencillo con el paquete xml
:
void createXml() {
final builder = xml.XmlBuilder();
builder.processing('xml', 'version="1.0"');
builder.element('greeting', nest: () {
builder.attribute('name', 'hello');
builder.text('Hola, mundo!');
});
final xmlDocument = builder.buildDocument();
print(xmlDocument.toXmlString(pretty: true));
}
void main() {
createXml();
}
Salida:
<?xml version="1.0"?>
<greeting name="hello">Hola, mundo!</greeting>
Consultando y Modificando XML:
Para encontrar o modificar elementos, puedes usar métodos similares a XPath:
void modifyXml(String xmlString) {
var document = xml.XmlDocument.parse(xmlString);
var greeting = document.findAllElements('greeting').first;
// Modificando el atributo 'name'
greeting.setAttribute('name', 'greeting_modified');
// Añadiendo un nuevo elemento hijo
greeting.children.add(xml.XmlElement(xml.XmlName('message'), [], [xml.XmlText('¡Adiós!')]));
print(document.toXmlString(pretty: true));
}
void main() {
final xmlString = '<greeting name="hello">Hola, mundo!</greeting>';
modifyXml(xmlString);
}
Salida:
<greeting name="greeting_modified">
Hola, mundo!
<message>¡Adiós!</message>
</greeting>
Estos ejemplos demuestran operaciones básicas para trabajar con XML en Dart. Con el paquete xml
, puedes analizar, crear y manipular documentos XML para adaptarlos a los requisitos de tu aplicación.