Rust:
Werken met XML

Hoe te:

In Rust kun je met XML omgaan met crates zoals xml-rs. Installeer door xml-rs = "0.8" toe te voegen aan je Cargo.toml. Hier is hoe je een eenvoudige XML kunt parsen:

extern crate xml;

use xml::reader::{EventReader, XmlEvent};

fn main() {
    let xml_data = r#"<book category="fiction">
    <title>Rust in Action</title>
    <author>Tim McNamara</author>
    <year>2021</year>
</book>"#;

    let parser = EventReader::from_str(xml_data);
    for e in parser {
        match e {
            Ok(XmlEvent::StartElement { name, .. }) => {
                println!("Start: {}", name);
            }
            Ok(XmlEvent::Characters(data)) => {
                println!("Tekst: {}", data);
            }
            Ok(XmlEvent::EndElement { name }) => {
                println!("Einde: {}", name);
            }
            Err(e) => {
                println!("Fout: {}", e);
            }
            _ => {}
        }
    }
}

Output:

Start: book
Start: title
Tekst: Rust in Action
Einde: title
Start: author
Tekst: Tim McNamara
Einde: author
Start: year
Tekst: 2021
Einde: year
Einde: book

Deze code leest XML stream-gewijs, en behandelt start- en eind-elementen plus tekstgegevens, en logt elke stap.

Diepe Duik:

XML is een senior in tech jaren, ontworpen voor het web in de late jaren ‘90. Zijn ontwerp bevordert leesbaarheid (voor zowel machines als mensen) en uitgebreide zelfbeschrijvende gegevens.

Alternatieven? Natuurlijk, JSON is de moderne go-to voor web API’s, lichter en minder rommelig. Ondertussen heeft YAML fans opgepikt voor configuraties, met zijn schone lay-out. Maar XML gaat voorlopig nergens heen—enorme infrastructuren zijn gebouwd op zijn rug.

Onder de motorkap leunt Rust’s XML-parser op iteratorpatronen, houdt het geheugengebruik laag en de prestaties scherp. Je vindt crates zoals serde-xml-rs voor een meer serde-achtige ervaring—een zegen voor degenen die gewend zijn aan de omgang met JSON.

Zie Ook:

Voor meer over Rust en XML: