CSV'den XML'e çevirme

Cihazınızda çalışır · Dosyanız cihazınızdan asla çıkmaz.

Bir CSV bırakın ya da yapıştırın; bir <root> öğesi, her satır için bir <item> öğesi ve başlıktan adını alan her sütun için bir alt öğe içeren XML belgesi alın. Ayırıcı otomatik bulunur (virgül, noktalı virgül, sekme, dikey çizgi), tırnaklı alanlar RFC 4180'e göre çözülür ve UTF-8 BOM atılır.

XML’in öğe adı olarak kabul etmediği sütun adları (boşluklu, simgeli ya da rakamla başlayan) alt çizgiyle temizlenir ("Birim fiyat" → Birim_fiyat); çıktı her zaman düzgün biçimlidir. Değerler öğelerin içinde metin olarak yazılır; öznitelik yoktur, belge her ayrıştırıcı için yalın kalır.

İndirmeden önce ilk 200 satırı görürsünüz; dönüştürme tamamen cihazınızda yapılır.

CSV'den XML'e çevirme nasıl yapılır

  1. Bir CSV dosyası bırakın ya da CSV metnini yapıştırın.
  2. Ayırıcıyı otomatikte bırakın ya da seçin.
  3. «XML biçimine dönüştür» düğmesine basın ve önizlemeyi kontrol edin.
  4. .xml dosyasını indirin.

Desteklenen biçimler ve sınırlar

Girdi
CSV / TSV: dosya ya da yapıştırılmış metin
Çıktı
XML 1.0, UTF-8, <root><item>…</item></root>
Ayrıştırma
RFC 4180; ayırıcı otomatik bulunur
Adlar
Başlık adları geçerli öğe adına dönüştürülür
Nerede çalışır
Tarayıcıda – yükleme yok

Şunlar için uygun değildir: Şemaya özel XML üretmek (banka, vergi ya da e-ticaret biçimi): öğe adları bir şemadan değil, başlıklarınızdan gelir.

Değerler CSV’de nasılsa öyle yazılır

XML her değeri metin olarak tutar; bu yüzden sayıları ya da true ve false değerlerini tanımanın bir kazancı yoktur ve bu sayfa böyle bir seçenek sunmaz. Her değer CSV’de durduğu gibi yazılır: 1.50 yine 1.50, 1e3 yine 1e3, TRUE yine TRUE kalır ve NULL sözcüğü NULL olarak kalır. Boş hücre <note/> gibi boş bir öğe verir ve 007’deki gibi baştaki sıfırlar korunur.

Başlık adları nasıl öğe adı olur

Önce yinelenen ve boş başlıklar düzeltilir: name adlı iki sütun <name> ve <name_2> olur, boş bir üçüncü başlık <column_3> olur. Sonra her ad XML için geçerli hâle getirilir. Total (USD), Total__USD_ olur, çünkü boşluklar ve parantezler alt çizgiye dönüşür; 1st de _1st olur. Kısa çizgiye ve noktaya izin verilir: e-mail e-mail kalır, address.city de o adı taşıyan tek bir öğe olarak kalır, iç içe öğelere bölünmez. Her yazı sistemindeki başlıklar, örneğin Arapça ya da Çince, yazıldığı gibi korunur.

Sonunda aynı ada varan iki başlık, örneğin "a b" ve "a_b", her <item> içinde ikisi de <a_b> olarak yazılır. Öğeleri adıyla okuyan bir program o zaman yalnızca ilkini görebilir; bu yüzden önce CSV’de birinin adını değiştirin.

CSV nasıl okunur

Metin, CSV’den JSON’a (/csv-to-json) aracındaki kurallarla okunur; orada örneklerle anlatılıyor: tırnakların nasıl çalıştığı, ayırıcının nasıl bulunduğu, dosyanın kodlamasının nasıl tanındığı ve başlıktan fazla ya da az hücreli bir satıra ne olduğu. XML’de eksik bir hücre boş bir öğe olur. Son başlığın ötesindeki hücrelerin öğe adı yoktur; bu yüzden dışarıda bırakılırlar ve bir mesaj bunun kaç satırda olduğunu ve ilkinin nerede olduğunu söyler.

<root> ve <item> adları sabittir. Bir sistem <customers> ve <customer> gibi başka adlar bekliyorsa indirdikten sonra bunları bir metin düzenleyicide değiştirin; yapıda başka hiçbir şeyin değişmesi gerekmez.

Sık sorulan sorular

Dosyam bir sunucuya yükleniyor mu?
Hayır. Dönüştürme tamamen tarayıcınızda, kendi cihazınızın gücüyle yapılır. Dosya bilgisayarınızdan ya da telefonunuzdan çıkmaz; bir araç bir kez kullanıldıktan sonra internetsiz de çalışmaya devam eder.
XML yapısı nasıl görünür?
Bir XML bildirimi, sonra <root>, sonra her satır için sütun başına bir öğe taşıyan bir <item>: <item><ad>Ayşe</ad><il>İzmir</il></item>. Satır öğesinin adı her zaman item’dır.
Başlıklarımda boşluk var. Sorun olur mu?
Hayır. Adlar XML’in izin verdiği biçime getirilir: boşluklar ve simgeler alt çizgi olur, baştaki rakamın önüne alt çizgi gelir. Adın geri kalanı değişmez.
Ayırıcıyı tanır mı?
Evet: virgül, noktalı virgül, sekme ve dikey çizgi ilk satırlarda denenir, tutarlı olan kazanır. İsterseniz kendiniz de seçebilirsiniz.

İlgili araçlar

Tablolar ve veriler içinde daha fazlası

Bu sayfa diğer dillerde: English · العربية · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা