XML-syöte

Escapattu tulos

XML Escape -esimerkkejä

Erikoismerkit (&, <, >, ", ') täytyy escapata XML:ssä. Telecom-teemainen esimerkki:

Puheluloki erikoismerkkeineen

Raaka XML (sisältää &lt;, &amp;, lainausmerkit):

Raaka syöte

Escapattu tulos:

Escapattu tulos

Käytä Esimerkki-painiketta ladataksesi puhelulokin editoriin.

Mikä on XML Escape/Unescape?

XML varaa tietyt merkit merkintäkieleen: &, <, >, " ja '. Kun nämä esiintyvät tekstisisällössä tai attribuuttiarvoissa, ne täytyy escapata entiteeteiksi (&amp;, &lt; jne.) tai jäsentäjä tulkitsee ne väärin. W3C XML-spesifikaatio määrittelee entiteettiviitteet. Unescape tekee päinvastaisen — se muuttaa entiteetit takaisin varsinaisiksi merkeiksi.

Tässä työkalussa on kaksi tilaa: Escape ja Unescape. Vaihda niiden välillä yläosassa. Molemmat toimivat selaimessasi; mitään ei lähetetä palvelimelle, joten sitä on turvallista käyttää tuotantodatan tai arkaluonteisen sisällön kanssa.

Miten työkalua käytetään

1

Valitse tila ja liitä

Valitse Escape muuntaaksesi erikoismerkit entiteeteiksi, tai Unescape muuntaaksesi ne takaisin. Liitä XML (tai escapattu teksti) vasempaan editoriin tai lataa tiedosto. Käytä vaihtonäppäintä tilojen välillä.

2

Katso tulos

Oikea paneeli päivittyy automaattisesti. Escape-tilassa varatut merkit muuttuvat entiteeteiksi. Unescape-tilassa entiteetit muuttuvat varsinaisiksi merkeiksi. Virheellinen tai väärin muodostettu syöte voi tuottaa odottamattomia tuloksia — tarkista XML-tarkistimella tarvittaessa.

3

Kopioi tai lataa

Käytä Kopioi laittaaksesi tuloksen leikepöydälle, tai Lataa tiedostona tallentaaksesi sen tiedostoon. JSON-escpaukseen käytä JSON Escape. URL-koodaukseen käytä XML URL-koodaus.

Milloin XML-escapaus on tärkeää

Kun upotat käyttäjän syötettä tai dynaamista sisältöä XML:ään, escapaamaton < tai & voi rikkoa jäsentämisen tai aiheuttaa tietoturvaongelmia. Escapaus varmistaa, että sisältö käsitellään tekstinä eikä merkintäkielenä. Kun vastaanotat kaksoislaajennetun XML:n (esim. tietokannasta tai API:sta, joka tallentaa XML:n merkkijonona), unescape poistaa ylimääräisen kerroksen, jotta voit jäsentää sen oikein.

Usein kysyttyä

Milloin täytyy escapata?

Kun upotat käyttäjän syötettä tai erikoismerkkejä XML-tekstisisältöön tai -attribuutteihin. Selaimet ja jäsentäjät odottavat entiteettejä varatuille merkeille. Escapaamaton < voidaan tulkita tagin aluksi; & entiteetin aluksi.

Entä CDATA?

CDATA-osiot (<![CDATA[...]]>) välttävät escapauksen suurille tekstilohkoille. Mutta ]]> täytyy silti escapata tai jakaa CDATA:n sisällä, koska se päättää osion. W3C XML-spesifikaatio määrittelee CDATA-säännöt.

Onko datani yksityistä?

Kyllä. Käsittely tapahtuu kokonaan selaimessasi JavaScriptillä. Mitään dataa ei lähetetä palvelimelle. Voit varmistaa tämän avaamalla selaimen Verkko-välilehden työkalua käyttäessäsi.

Mitkä XML-merkit täytyy escapata?

XML:ssä on viisi varattua merkkiä, jotka täytyy aina escapata: &&amp;, <&lt;, >&gt;, "&quot; ja '&apos;. Ampersand ja pienempi kuin -merkki ovat tiukasti pakollisia; muut ovat pakollisia tietyissä konteksteissa (esim. lainausmerkit attribuuttiarvoissa).

Liittyvät työkalut

Lisää XML-escpauksesta ja entiteeteistä, katso W3C XML-entiteettiviitteet, W3C XML-spesifikaatio ja W3C XML. XML:n jäsentämiseen selaimessa, katso MDN DOMParser. HTML-entiteeteille, katso HTML-nimetyt merkkiviitteet. JSON-escpaukselle, katso JSON-spesifikaatio.