Naar de inhoud

XML omzetten naar CSV

Deze tool zet een XML-document om naar CSV in je browser, zodat een export, een feed of een API-respons iets wordt dat een spreadsheet rechtstreeks kan openen. Het minst diep geneste element dat zich herhaalt wordt de rijen, en alles daarbuiten blijft buiten de tabel; zonder herhaald element geeft het document één rij onder zijn omhullende elementen. Een genest element wordt een kolom genoemd naar zijn pad, verbonden met /, een attribuut behoudt zijn @, en een naam die zich binnen een rij herhaalt wordt genummerde kolommen zoals tag[1] en tag[2] in elke rij. Elke waarde blijft precies de tekenreeks die het document bevat, en het scheidingsteken is een instelling. Je bestand wordt nooit geüpload.

Draait in je browser

Sleep hier een bestand naartoe

XML, tot 50 MB

Hoe het werkt

  1. 1 Kies een XML-bestand.
  2. 2 Stel het scheidingsteken in als het resultaat geen komma moet gebruiken.
  3. 3 GRID16 vindt de rijen en kolommen en schrijft de tabel in je browser.
  4. 4 Download de CSV.

Vragen

Welk element wordt een rij?
Het minst diep geneste element dat zich herhaalt tussen zijn broertjes en zusjes. Herhalen twee namen zich op dezelfde diepte, dan wint degene die vaker voorkomt, en bij gelijke stand wint de naam die het eerst verschijnt. Een herhaald element binnen een rij, zoals de regels van een bestelling, blijft binnen de rij omdat het rij-element het eerst wordt gevonden.
Wat gebeurt er zonder herhaald element?
Het document geeft één rij. De doorloop daalt af door omhullende elementen die geen eigen veld toevoegen, zodat een export met één record dezelfde kolommen geeft als een export met meerdere.
Hoe wordt een genest element een kolom?
Via zijn pad vanaf het rij-element, verbonden met /: customer/name voor een naam genest in customer. Een attribuut behoudt zijn @, zodat price en price/@currency twee verschillende kolommen zijn.
Wat gebeurt er als een naam zich binnen een rij herhaalt?
Die wordt genummerde kolommen, bijvoorbeeld tag[1] en tag[2], geteld vanaf 1 en aangehouden in elke rij tot het hoogste aantal dat is gezien; een rij met minder krijgt lege cellen voor de kolommen die ontbreken.
Worden waarden veranderd?
Nee. Elke waarde blijft precies de tekenreeks die het document bevat; niets wordt getrimd of omgezet naar een getal. Een leeg element geeft zijn kolom met een lege cel.
Wat gebeurt er bij ongeldige XML, een DOCTYPE, of een document zonder waarden?
De opdracht stopt en zegt waarom. Een document met een DOCTYPE- of ENTITY-declaratie wordt geweigerd voordat het wordt gelezen, XML die niet te lezen is wordt gemeld met de eigen melding van de parser, en een document zonder enige waarde voor een tabel, zoals een leeg hoofdelement, wordt ook geweigerd.
Wordt mijn bestand naar een server geüpload?
Nee. Het omzetten gebeurt in je browser; het bestand verlaat je apparaat nooit.