Libreng Converter

XML Formatter & Validator

I-format, pagandahin, at patunayan ang XML kaagad sa iyong browser. Walang kinakailangang pag-upload — ganap na pribado at libre.

I-drag at I-drop ang isang XML file dito

Sinusuportahan ang mga .xml na file. O i-paste ang iyong XML sa lugar sa itaas.

O kaya

Tungkol sa tool na ito

Ang XML formatting ay nag-indent ng mga nested na elemento upang makita ang hierarchy ng dokumento. Compact XML — lahat ng bagay sa isang linya — ay teknikal na wasto at kapaki-pakinabang para sa paghahatid, ngunit hindi nababasa para sa mga tao. Ang naka-format na XML ay nagdaragdag ng mga line break sa pagitan ng mga elemento at ini-indent ang mga bata sa loob ng kanilang mga magulang, na ginagawa itong na-scan, diffable, at nae-edit sa pamamagitan ng kamay.

Pino-parse ng formatter na ito ang input gamit ang DOMParser upang kumpirmahin ang mahusay na pagkakabuo, pagkatapos ay ginagawa ang resultang DOM upang maglabas ng naka-indent na output. Ang mga komento, mga tagubilin sa pagproseso, at mga seksyon ng CDATA ay pinapanatili. Ang mga self-closing tag (mga walang anak) ay pinananatiling compact sa isang linya; Ang mga tag na may mga bata ay nakakalat sa maraming linya na ang mga bata ay naka-indent.

Ang two-space indentation ay ang default, na tumutugma sa pinakakaraniwang XML convention. Ang formatter ay konserbatibo tungkol sa muling pag-format: ang umiiral na istraktura ay pinapanatili, tanging ang whitespace sa pagitan ng mga elemento ang nagbabago. Ang data ay round-trip sa anumang XML parser nang magkapareho bago at pagkatapos ng pag-format.

Bakit Format ng XML

Hindi nababasa ang compact XML. Ang mga sagot sa SOAP, RSS feed, at maraming configuration file ay dumating bilang single-line XML na wasto sa teknikal ngunit halos hindi malinaw. Ang pag-format ay nagpapakita ng istraktura ng dokumento, hinahayaan kang mahanap ang mga partikular na elemento, at ginagawang makabuluhan ang mga pagkakaiba sa kontrol ng bersyon.

Ang pag-format ay nagsisilbi rin bilang isang pagsusuri sa bisa. Kung nabigo ang XML na mag-parse habang nagfo-format, tinutukoy ng mensahe ng error ang problema — kadalasang hindi nakasara na mga tag, hindi tugmang pangalan ng elemento, o di-wastong mga character. Ang pagkuha ng mga XML error bago ipadala sa isang mahigpit na consumer ay nakakatipid ng oras sa pag-debug.

Paano gamitin

I-paste ang XML, i-click ang format.

  1. Magdagdag ng XML input: Mag-paste ng XML text o mag-drop ng .xml file. Ang formatter ay tumatanggap ng anumang mahusay na nabuong XML — mga dokumento, fragment, RSS feed, SOAP na sobre.
  2. Pumili ng indentation: Ang default ay 2 puwang. Gumamit ng 4 na puwang o tab kung mas gusto ng convention ng iyong team ang mga ito.
  3. Format: Ang DOMParser ay bubuo ng isang DOM, pinapalakad ito ng formatter, at inilalabas ang naka-indent na XML. Eksaktong pinapanatili ang mga komento, CDATA, at mga tagubilin sa pagproseso. Ang whitespace sa loob ng mga text node ay pinapanatili (ang makabuluhang whitespace ay hindi maaaring ligtas na maidagdag o maalis).
  4. Kopyahin o i-download: Kopyahin ang na-format na XML sa clipboard o i-save bilang .xml. Ang output ay mahusay na nabuo at pare-pareho ang pag-parse sa input.

Mga Karaniwang Paggamit

Mga Detalye ng Teknikal

Gumagawa ang DOMParser ng XML DOM. Ang formatter ay lumalakad sa lalim ng puno, naglalabas ng mga pambungad na tag, naka-indent na mga bata, at nagsasara na mga tag. Ang mga katangian ng elemento ay pinapanatili sa pambungad na tag; ang pagkakasunod-sunod ng katangian ay tumutugma sa pinagmulan.

Pinapanatili ang makabuluhang whitespace sa loob ng mga text node — hindi ligtas na mababago ng formatter ang whitespace ng content dahil maaaring makabuluhan ito (naiiba ang mga panuntunan sa pag-iingat ng espasyo ng XML sa mga schema). Ang whitespace lang sa pagitan ng mga elemento ang nagbabago.

Ang mga self-closing na elemento (walang mga bata) ay naglalabas bilang <tag attr="val"/>. Ang mga elementong may lamang text content ay naglalabas bilang <tag>text</tag>. Ang mga elementong may elementong mga bata ay naglalabas sa maraming linya na may naka-indent na mga bata. Ang mga seksyon, komento, at mga tagubilin sa pagproseso ng CDATA ay naglalabas kasama ng kanilang orihinal na mga delimiter at nilalaman.

Pinakamahusay na Kasanayan

Mga madalas itanong

Anong mga XML error ang nakikita nito?
Nakikita ng tool ang mga hindi saradong tag, hindi tugmang pambungad/pagsasara na mga tag, di-wastong mga sanggunian ng character, nawawalang mga elemento ng ugat, mali ang pagkakabuo ng mga katangian, at mga isyu sa pag-encode. Kasama sa mga mensahe ng error ang mga numero ng linya upang matulungan kang mahanap ang mga problema.
Binabago ba ng pag-format ang nilalamang XML?
Inaayos lang ng pag-format ang whitespace at indentation sa pagitan ng mga elemento. Ang nilalaman ng elemento, mga katangian, mga seksyon ng CDATA, at mga tagubilin sa pagproseso ay pinapanatili nang eksakto tulad ng inilagay.
Magagawa ba nito ang malalaking XML file?
Ang tool ay humahawak ng mga file hanggang sa ilang megabytes sa browser. Para sa napakalaking XML na dokumento (50MB+), isaalang-alang ang paggamit ng command-line tool tulad ng xmllint para sa mas mahusay na performance.
Sinusuportahan ba nito ang mga namespace ng XML?
Oo. Tamang pinangangasiwaan ng formatter ang mga deklarasyon ng namespace (xmlns), mga prefix na elemento, at mga default na namespace. Pinapanatili ang mga namespace sa na-format na output.
Pinapanatili ba ang mga namespace?
Oo. Ang mga katangian ng xmlns at xmlns:prefix ay pinapanatili sa mga elemento kung saan lumalabas ang mga ito sa pinagmulan.
Maaari ko bang maliitin ang XML sa isang linya?
Ang ilang mga XML formatter ay nag-aalok ng minification. Nakatuon ang tool na ito sa pag-format; Ang minified XML ay maaaring gawin sa pamamagitan ng pagtanggal ng whitespace sa pagitan ng mga elemento na may regex o nakalaang tool.
Na-upload ba ang aking XML sa isang server?
Hindi. Ang DOMParser ay tumatakbo sa iyong browser; tumatakbo ang formatter sa iyong browser.
Magbabago ba ang whitespace sa loob ng mga text node?
Hindi. Pinapanatili ang whitespace ng text-node dahil ang mga panuntunan sa pangangalaga sa espasyo ng XML ay nag-iiba ayon sa schema. Ang formatter ay nagbabago lamang ng inter-element na whitespace.