Generatore Gratuito di Struct Rust da XML Online
Genera struct Rust con serde da XML istantaneamente nel browser.
Input XML
Output Rust
Cos'è XML a Rust?
Rust usa quick-xml o roxmltree per XML. Questo strumento genera struct Rust con attributi serde da XML. La specifica W3C XML definisce il formato e la conversione viene eseguita nel browser. Niente viene inviato a un server.
Come usare questo strumento
Incolla o carica XML
Incolla il tuo XML o carica un file. Specifica il nome della struct e il pacchetto (modulo) nelle impostazioni.
Verifica l'output Rust
Il pannello di destra mostra le struct generate. Aggiungi quick-xml o serde con supporto XML al Cargo.toml e poi esegui il parsing.
Copia o scarica
Usa Copia o Scarica. Per JSON a Rust usa JSON a Rust. Per la formattazione XML usa Formattatore XML.
Quando XML a Rust è utile
Quando si sviluppano app Rust che usano SOAP, feed o configurazioni XML, genera qui le struct. Aggiungi quick-xml o roxmltree al tuo Cargo.toml.
Domande frequenti
quick-xml vs roxmltree — quale devo usare?
quick-xml è un parser ad alte prestazioni con integrazione diretta con serde — ideale per feed di grandi dimensioni. roxmltree è un lettore DOM più semplice per documenti piccoli. Per #[derive(Deserialize)], quick-xml è la scelta standard.
Come aggiungo quick-xml al mio progetto?
Aggiungi quick-xml = { version = "0.36", features = ["serialize"] } e serde = { version = "1", features = ["derive"] } al tuo Cargo.toml. Poi usa quick_xml::de::from_str(&xml) per deserializzare.
Perché ci sono attributi #[serde(rename)] su alcuni campi?
I nomi degli elementi XML sono spesso in camelCase (es. planName), ma la convenzione Rust usa il snake_case (plan_name). L'attributo #[serde(rename)] fa da ponte affinché serde mappi correttamente il nome XML al campo Rust durante la deserializzazione.
I miei dati XML vengono inviati a un server?
No. Tutta l'elaborazione avviene localmente nel tuo browser tramite la API DOMParser. Niente viene caricato o memorizzato.
Esempi XML a Rust
Ecco un esempio di generazione di struct Rust da XML.
Esempio: Record abbonato
Input XML:
Output Rust generato:
Strumenti correlati
Per il parsing XML in Rust: quick-xml e roxmltree. Per XML: W3C XML.