CodeKitHub
JSON-työkalut

CSV-XML-muunnin

Viimeksi päivitetty:

CSV:n muuttamiseksi XML:ksi jokaisesta rivistä tulee <row>-elementti ja jokaisesta sarakkeesta otsikon mukaan nimetty alitagi — käänteinen muunnos poimii yhden sarakkeen jokaista XML:stä löytyvää erillistä alitagin nimeä kohden. Tämä työkalu tekee tämän muunnoksen molempiin suuntiin, kokonaan selaimessasi.

Mikä tämä työkalu on?

Jotkin järjestelmät (vanhat yritysohjelmistot, tietyt SOAP-pohjaiset rajapinnat, RSS-tyyppiset syötteet) odottavat dataa XML:nä, kun taas taulukkolaskentaohjelmat ja useimmat data-tuontityökalut odottavat CSV:tä. Tämä työkalu siirtää dataa näiden kahden formaatin välillä: CSV → XML kääri jokaisen rivin <row>-elementtiin juuri-elementin <rows> sisällä, ja jokaisesta sarakkeesta tulee otsikon mukaan nimetty alitagi; XML → CSV tekee päinvastoin ja poimii yhden sarakkeen jokaista löytämäänsä erillistä alitagin nimeä kohden.

CSV-puoli jäsennetään asianmukaisella lainattuja kenttiä ymmärtävällä jäsentimellä (ei naiivilla pilkkuun perustuvalla jaolla), joten pilkkuja, rivinvaihtoja tai sisäisiä lainausmerkkejä sisältävät arvot käsitellään oikein. XML-puoli jäsennetään selaimen natiivilla DOMParser-rajapinnalla — samalla rajapinnalla, jota selaimet käyttävät sisäisesti XML-dokumenttien jäsentämiseen — käsin kirjoitetun regex-pohjaisen lukijan sijaan, joten sisäkkäiset tagit ja standardin mukainen XML-merkintä käsitellään samalla tavalla kuin oikea XML-jäsennin käsittelisi ne.

Sarake-/taginimet, jotka eivät ole kelvollisia XML-elementtien nimiä (sisältävät välilyöntejä, alkavat numerolla jne.), siivotaan automaattisesti XML:ää generoitaessa, koska XML-elementtien nimillä on tiukemmat säännöt kuin CSV-otsikoilla.

Lähde: CSV-jäsennys noudattaa RFC 4180-standardia; XML-rakenne noudattaa W3C:n XML 1.0 -spesifikaatiota.

Miksi käyttää sitä?

  • Toimii molempiin suuntiin — CSV:stä XML:ksi ja XML:stä CSV:ksi, yhdessä työkalussa.
  • Oikea CSV-jäsennys — käsittelee lainattuja kenttiä, joissa on pilkkuja, rivinvaihtoja ja escapettuja lainausmerkkejä, ei vain naiivia pilkkujakoa.
  • Standardinmukainen XML-jäsennys — XML → CSV käyttää selaimen sisäänrakennettua DOMParseria mukautetun regex-jäsentimen sijaan, joten virheellinen XML raportoidaan virheenä sen sijaan että se tuottaisi hiljaa roskaa.
  • Automaattinen XML-merkintä — erikoismerkit kuten & ja < CSV-arvoissasi merkitään oikein XML:ää generoitaessa.
  • 100 % selainpohjainen — mitään tähän liittämääsi ei ladata palvelimelle.

Käyttöohje

  1. Liitä CSV-dataa (otsikkorivin kanssa) tai XML-dataa laatikkoon.
  2. Klikkaa "CSV → XML" luodaksesi XML:ää, tai "XML → CSV" muuntaaksesi XML:n takaisin taulukoksi.
  3. Tarkista tulos — kopioi se tai lataa se tiedostona.
  4. CSV → XML -suunnassa jokaisesta rivistä tulee <row>-elementti, jossa on yksi tagi per sarake, kääritty <rows>-juuren sisään.

Esimerkki

Syöte

name,age
Alice,30
Bob,25

Tuloste

<?xml version="1.0" encoding="UTF-8"?>
<rows>
  <row>
    <name>Alice</name>
    <age>30</age>
  </row>
  <row>
    <name>Bob</name>
    <age>25</age>
  </row>
</rows>

Jokaisesta CSV-rivistä tulee yksi <row>-elementti, ja jokaisesta sarakkeesta otsikon mukaan nimetty alitagi — tämän XML:n ajaminen takaisin "XML → CSV" -toiminnon läpi palauttaa alkuperäisen kaksisarakkeisen taulukon.

Käytännön vinkkejä

  • Datan syöttäminen vanhaan järjestelmään tai SOAP-rajapintaan, joka odottaa XML:ää: muunna CSV-vientisi ensin täällä, ja liitä sitten XML-tuloste suoraan kohdejärjestelmään.
  • Saamasi XML-viennin tarkastaminen: aja XML → CSV saadaksesi nopean, luettavan taulukkonäkymän ilman täyttä XML-editoria.
  • Jos XML:ssäsi käytetään syvästi sisäkkäisiä elementtejä yksinkertaisen <row><column>-rakenteen sijaan, tämä työkalu ei litistä mielivaltaista sisäkkäisyyttä — se odottaa yhtä rivitasoa, jossa jokainen sisältää yksinkertaisia sarake-elementtejä.

Miksi DOMParser eikä käsin kirjoitettu XML-lukija

XML:ssä on todellisia rakenteellisia sääntöjä — sisäkkäiset elementit, attribuuttien lainaus, merkkien &, <, > merkintä ja niin edelleen — jotka nopea regex-pohjainen jäsennin taipuu tekemään hienovaraisesti väärin muussa kuin yksinkertaisimmassa syötteessä. Selaimen sisäänrakennetun DOMParser-rajapinnan käyttäminen tarkoittaa, että tämä työkalu nojaa samaan standardinmukaiseen XML-moottoriin, jota selain itse käyttää XML-dokumenttien renderöintiin, XML-jäsennyksen uudelleentoteuttamisen sijaan tyhjästä. Se tarkoittaa myös, että virheellinen XML — sulkematon tagi, ylimääräinen kulmasulje — näkyy selkeänä jäsennysvirheenä sen sijaan, että se hiljaa tuottaisi vioittuneen tai vaillinaisen CSV:n.

Usein kysytyt kysymykset

Käsitteleekö tämä pilkkuja tai lainausmerkkejä sisältäviä CSV-arvoja oikein?

Kyllä. CSV-jäsennin on asianmukainen tilakonejäsennin, joka seuraa, onko se lainatun kentän sisällä, joten pilkut ja rivinvaihdot lainausmerkkien sisällä (esim. "Smith, John") sekä kahdennetut lainausmerkit, joilla merkitään kirjaimellista lainausmerkkiä, käsitellään kaikki oikein — se ei vain jaa jokaisesta pilkusta.

Miten XML jäsennetään — onko se mukautettu regex-jäsennin?

Ei. XML → CSV käyttää selaimen sisäänrakennettua DOMParser-rajapintaa jäsentääkseen XML:n oikeaksi dokumenttipuuksi, samalla tavalla kuin selain jäsentää minkä tahansa XML-dokumentin. Tämä tarkoittaa, että virheellinen XML havaitaan ja raportoidaan virheenä sen sijaan, että se hiljaa tuottaisi virheellisen tuloksen niin kuin käsin kirjoitettu regex-pohjainen jäsennin saattaisi tehdä.

Mitä tapahtuu sarakenimille, jotka eivät ole kelvollisia XML-tageja?

Kaikki, mikä ei ole kirjain, numero, alaviiva, väliviiva tai piste, korvataan alaviivalla, ja alkuun lisätään alaviiva, jos nimi muuten alkaisi numerolla tai välimerkillä — koska XML-elementtien nimet eivät voi alkaa numerolla tai sisältää välilyöntejä samalla tavalla kuin CSV-otsikko voi.

Ladataanko dataani palvelimelle?

Ei. Molemmat muunnossuunnat toimivat kokonaan JavaScriptillä selaimessasi, käyttäen selaimen omaa XML-jäsennysmoottoria — mitään ei lähetetä minnekään, joten tämä on turvallinen käyttää vietyjen yritys- tai asiakastietojen kanssa.

Antaako CSV → XML → CSV -muunnos täsmälleen sen, mistä aloitin?

Hyvin muotoillulle CSV:lle, jossa on johdonmukainen sarakejoukko, kyllä — edestakainen muunnos säilyttää arvot. Jos alkuperäisessä CSV:ssäsi oli epäjohdonmukaisia sarakkeita eri riveillä tai epätavallisia merkkejä otsikkonimissä, siivotut taginimet tarkoittavat, että täsmällinen otsikoiden kirjoitusasu ei ehkä säily täydellisesti, vaikka datan arvot säilyvätkin.

Liittyvät työkalut