Parser XML
XML (Extensible Markup Language) e un linguaggio di markup per codificare dati strutturati. Sebbene JSON abbia sostituito XML in molte API web, XML rimane essenziale per i sistemi enterprise, i servizi web SOAP e i file di configurazione. Questo strumento analizza e formatta XML con indentazione corretta.
Specifiche
Casi d'uso comuni
- Formattare richieste e risposte API SOAP
- Leggere e validare file Maven pom.xml
- Analizzare contenuti di feed RSS e Atom
- Debug di file XML di layout Android
- Elaborare file grafici SVG
- Ispezionare file di configurazione .NET (web.config, app.config)
Funzionalità
- Formattazione con indentazione corretta
- Preservazione di namespace e prefissi
- Gestione di sezioni CDATA e istruzioni di elaborazione
- Visualizzazione degli attributi accanto agli elementi
- Conversione in JSON per un'elaborazione programmatica piu semplice
- Validazione della struttura XML ben formata
Esempi
Maven POM
Provalo →Un modello di oggetto di progetto Maven che definisce le dipendenze.
<?xml version="1.0" encoding="UTF-8"?>
<project>
<groupId>com.example</groupId>
<artifactId>my-app</artifactId>
<version>1.0.0</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
</dependency>
</dependencies>
</project>Suggerimenti
- XML e sensibile alle maiuscole. <User> e <user> sono elementi diversi.
- Tutti gli elementi devono essere chiusi correttamente. Usa <br/> per i tag autochiudenti.
- I valori degli attributi devono essere tra virgolette (singole o doppie).
- Usa sezioni CDATA per contenuti che includono caratteri < o &.
Approfondimenti Parser XML
XML (Extensible Markup Language) e uno standard W3C per codificare dati strutturati in un formato leggibile sia dall'uomo che dalla macchina. A differenza di HTML, che ha un insieme fisso di tag, XML consente di definire i propri elementi e attributi, rendendolo un metalinguaggio per creare linguaggi di markup specifici per dominio. La specifica 1.0 e stata pubblicata nel 1998 e rimane ampiamente utilizzata.
La caratteristica distintiva di XML e la sua sintassi rigorosa. Ogni tag di apertura deve avere un tag di chiusura (o essere autochiudente). Gli attributi devono essere tra virgolette. Gli elementi devono essere correttamente annidati. Un documento che segue queste regole e "ben formato" (well-formed). Un documento che inoltre e conforme a uno schema (DTD, XML Schema o RELAX NG) e "valido" (valid). Questa rigidita rende XML affidabile per lo scambio di dati tra sistemi costruiti con tecnologie diverse.
I namespace sono il meccanismo di XML per evitare collisioni di nomi degli elementi. Un namespace e un URI associato a un prefisso (xmlns:soap="..."), che garantisce che <soap:Envelope> e <html:body> possano coesistere nello stesso documento senza ambiguita. I namespace sono essenziali nei servizi web SOAP, nelle asserzioni SAML, nella grafica SVG e in qualsiasi documento che combini vocabolari.
Sebbene JSON abbia sostituito XML nella maggior parte delle API web grazie alla sua sintassi piu leggera, XML rimane dominante nell'integrazione enterprise (SOAP, EDI), nei formati di documento (DOCX, XLSX, ODF), nella configurazione (Maven pom.xml, .NET web.config, layout Android), nella sindacazione (RSS, Atom) e nella grafica vettoriale (SVG). Comprendere XML e essenziale per lavorare con sistemi legacy, software enterprise e pipeline di elaborazione documenti.
XML ben formato segue le regole di sintassi di base: annidamento corretto, tag chiusi, attributi tra virgolette e un singolo elemento radice. Qualsiasi parser XML puo leggere XML ben formato. XML valido va oltre — e conforme a uno schema (DTD, XML Schema o RELAX NG) che definisce quali elementi e attributi sono consentiti, il loro ordine e i loro tipi di dati. La validazione e opzionale ma importante per lo scambio di dati dove entrambe le parti devono concordare sulla struttura del documento.
I namespace prevengono le collisioni di nomi degli elementi associando gli elementi a un URI. Un namespace e dichiarato con xmlns:prefix="URI" e poi usato come prefisso sugli elementi (<prefix:element>). Il namespace predefinito (xmlns="URI" senza prefisso) si applica all'elemento e ai suoi discendenti non qualificati. L'URI non deve puntare a una risorsa reale — serve solo come identificatore univoco. Le sezioni CDATA (<![CDATA[ ... ]]>) forniscono un modo per includere contenuti che contengono caratteri come < e & senza escaping come < e &. Questo e utile per incorporare JavaScript, query SQL o frammenti HTML all'interno di elementi XML.
XML offre diverse funzionalita che JSON non ha: namespace per combinare vocabolari, schemi per la validazione formale, attributi per metadati accanto al contenuto degli elementi, istruzioni di elaborazione, contenuto misto (testo intercalato con elementi) e XSLT per la trasformazione dichiarativa. XML e la scelta migliore per dati orientati ai documenti, integrazioni enterprise complesse e scenari che richiedono contratti formali tra sistemi. JSON e piu adatto per lo scambio di dati semplici in applicazioni web dove la sua sintassi piu leggera e il supporto universale degli strumenti sono piu importanti della ricchezza strutturale di XML.