Araca geç
ViewCSV
Dosya yüklenmez

CSV’yi XML’e dönüştürün

orders.csv· ÖRNEK VERİ15 satır · 8 sütun
Değerler
<?xml version="1.0" encoding="UTF-8"?>
<rows>
  <row>
    <order_id>001041</order_id>
    <customer>Yusuf Demir</customer>
    <city>Ankara</city>
    <product>Coffee beans 1kg</product>
    <quantity>2</quantity>
    <unit_price>127.75</unit_price>
    <order_date>2026-01-27</order_date>
    <status>paid</status>
  </row>
  <row>
    <order_id>001042</order_id>
    <customer>Asel Yıldız</customer>
    <city>Ankara</city>
    <product>Notebook A5</product>
    <quantity>5</quantity>
    <unit_price>153.28</unit_price>
    <order_date>2026-02-11</order_date>
    <status>shipped</status>
  </row>
  <row>
    <order_id>001043</order_id>
    <customer>Ömer Yıldırım</customer>
    <city>Adana</city>
    <product>Desk lamp</product>
    <quantity>8</quantity>
    <unit_price>216.50</unit_price>
    <order_date>2026-03-20</order_date>
    <status>shipped</status>
  </row>
  <row>
    <order_id>001044</order_id>
    <customer>Ecrin Doğan</customer>
    <city>Adana</city>
    <product>Notebook A5</product>
    <quantity>5</quantity>
    <unit_price>141.31</unit_price>
    <order_date>2026-04-09</order_date>
    <status>pending</status>
  </row>
  <row>
    <order_id>001045</order_id>
    <customer>Azra Demir</customer>
    <city>Eskişehir</city>
    <product>Desk lamp</product>
    <quantity>9</quantity>
    <unit_price/>
    <order_date>2026-05-16</order_date>
    <status>shipped</status>
  </row>
  <row>
    <order_id>001046</order_id>
    <customer>Yusuf Aydın</customer>
    <city>İzmir</city>
    <product>Coffee beans 1kg</product>
    <quantity>2</quantity>
    <unit_price>87.81</unit_price>
    <order_date>2026-06-23</order_date>
    <status>shipped</status>
  </row>
  <row>
    <order_id>001047</order_id>
    <customer> Ömer Aydın </customer>
    <city>İzmir</city>
    <product>Chair, ergonomic</product>
    <quantity>8</quantity>
    <unit_price>80.58</unit_price>
    <order_date>2026-07-17</order_date>
    <status>shipped</status>
  </row>
  <row>
    <order_id>001048</order_id>
    <customer>Mustafa Arslan</customer>
    <city>Eskişehir</city>
    <product>Chair, ergonomic</product>
    <quantity>4</quantity>
    <unit_price>127.60</unit_price>
    <order_date>2026-08-21</order_date>
    <status>shipped</status>
  </row>
  <row>
    <order_id>001049</order_id>
    <customer>Kerem Demir</customer>
    <city>İzmir</city>
    <product>Monitor 27"</product>
    <quantity>7</quantity>
    <unit_price>223.28</unit_price>
    <order_date>2026-09-08</order_date>
    <status>paid</status>
  </row>
  <row>
    <order_id>001050</order_id>
    <customer>Asel Doğan</customer>
    <city>Ankara</city>
    <product>Desk lamp</product>
    <quantity>5</quantity>
    <unit_price>244.39</unit_price>
    <order_date>2026-01-21</order_date>
    <status>shipped</status>
  </row>
  <row>
    <order_id>001051</order_id>
    <customer>Asel Özdemir</customer>
    <city>Antalya</city>
    <product>Desk lamp</product>
    <quantity>7</quantity>
    <unit_price>213.46</unit_price>
    <order_date>2026-02-08</order_date>
    <status>refunded</status>
  </row>
  <row>
    <order_id>001052</order_id>
    <customer>Ömer Kaya</customer>
    <city>Antalya</city>
    <product>Coffee beans 1kg</product>
    <quantity>9</quantity>
    <unit_price>118.00</unit_price>
    <order_date>2026-03-16</order_date>
    <status>refunded</status>
  </row>
  <row>
    <order_id>001053</order_id>
    <customer>Ömer Aydın</customer>
    <city>Bursa</city>
    <product>Coffee beans 1kg</product>
    <quantity>2</quantity>
    <unit_price>121.81</unit_price>
    <order_date>2026-04-13</order_date>
    <status>refunded</status>
  </row>
  <row>
    <order_id>001054</order_id>
    <customer>Zeynep Yıldırım</customer>
    <city>Adana</city>
    <product>USB-C cable</product>
    <quantity>7</quantity>
    <unit_price>184.52</unit_price>
    <order_date>2026-05-26</order_date>
    <status>paid</status>
  </row>
  <row>
    <order_id>001043</order_id>
    <customer>Ömer Yıldırım</customer>
    <city>Adana</city>
    <product>Desk lamp</product>
    <quantity>8</quantity>
    <unit_price>216.50</unit_price>
    <order_date>2026-03-20</order_date>
    <status>shipped</status>
  </row>
</rows>

15 satır · 1 dosya

Bir CSV dosyası açın veya yapıştırın ve iyi biçimlendirilmiş bir XML elde edin: bir kök öğe, her kayıt için bir satır öğesi ve her değer bir alt öğe ya da öznitelik olarak. Order ID veya 2024 total gibi geçerli XML adı olmayan başlıklar yeniden adlandırılır ve her yeniden adlandırma listelenir. Dosya tarayıcınızda dönüştürülür, hiçbir zaman yüklenmez.

CSV, XML’e nasıl dönüştürülür?

  1. Dosya aç düğmesini seçin, araca bir .csv, .tsv veya .txt dosyası sürükleyin ya da Yapıştır seçeneğini kullanın. Sütunlar yanlış görünüyorsa ayırıcıyı ve kodlamayı İçeri aktarma ayarları altından kontrol edin.
  2. Kök öğe ve Satır öğesi adlarını (varsayılan olarak rows ve row) dosyayı alacak sistemin beklediği şekilde belirleyin.
  3. Değerler, boş değerlerin nasıl ele alınacağı, Girinti ve bildirim ayarlarını seçin, ardından Kopyala veya XML indir seçeneğini kullanın.

Dosyayı okuyacak sistem belirli etiket adları bekliyorsa, otomatik yeniden adlandırmaya gerek kalmaması için önce sütunları CSV sütunlarını yeniden adlandır ve sırala aracıyla yeniden adlandırın.

XML yapısı seçenekleri

Alt öğelerVarsayılan: <row><Customer>Smith &amp; Sons</Customer>…</row>. Değerlerdeki satır sonlarını korur ve çoğu içeri aktarma aracına uygundur.
ÖzniteliklerHer satır için kendiliğinden kapanan bir öğe: <row Customer="Smith &amp; Sons" …/>. Daha kısadır; bir ayrıştırıcının koruması için değerlerdeki sekme ve satır sonları &#9;, &#10; ve &#13; olarak yazılır.
Boş değerleri yazmaVarsayılan olarak kapalıdır; bu nedenle boş bir hücre <Ship_date/> gibi boş bir öğe olur. Açıkken o satırda öğe veya öznitelik hiç yazılmaz.
Girinti2 boşluk (varsayılan), 4 boşluk veya belgenin tamamını tek satıra yazan Yok (küçültülmüş).
XML bildirimini ekleVarsayılan olarak açıktır: ilk satır <?xml version="1.0" encoding="UTF-8"?> olur. XML başka bir belgeye gömülecekse kapatın.

Kök ve satır adları da başlıklarla aynı ad kurallarından geçer; boş veya geçersiz bir giriş rows ya da row değerine geri döner veya başına alt çizgi alır.

Sütun adları XML adlarına nasıl dönüşür?

  • Boşluklar _ olur; harfler, rakamlar, ., - ve _ dışındaki her karakter _ olur: Total (EUR) → Total__EUR_, e-mail:work → e-mail_work. İki nokta üst üste değiştirilir; böylece hiçbir ad alanı (namespace) ön eki oluşmaz.
  • Rakam, . veya - ile başlayan bir ad başına alt çizgi alır (2024 total → _2024_total); XML’in ayırdığı, herhangi bir harf büyüklüğünde xml ile başlayan adlar da öyle (xml_ref → _xml_ref).
  • İki başlık aynı ada dönüşürse ikincisi _2 alır (a b ve a_b → a_b, a_b_2). XML adları büyük/küçük harfe duyarlıdır; bu yüzden Name ve name ayrı kalır.
  • Her yazı sistemindeki harfler korunur: Größe ve 価格 geçerli XML adlarıdır; sipariş_no veya ürün gibi Türkçe adlar da öyle. Boş bir başlık önce Column 7, ardından Column_7 olur.
  • Her yeniden adlandırma seçeneklerin altında old → new biçiminde listelenir; önizlemenin üstündeki bir bildirim de sayısını verir.

Değerler nasıl yazılır?

  • Öğe metninde &, < ve > kaçışlanır; özniteliklerde ayrıca " de kaçışlanır. Bunun dışında değerler CSV’deki gibi birebir yazılır: 00731 sıfırlarını korur ve hiçbir tür tahmin edilmez.
  • XML 1.0, kaçışlanmış olsalar bile denetim karakterlerinin çoğunu (sekme, satır besleme ve satır başı dışındaki U+0000–U+001F), U+FFFE, U+FFFF ve eşleşmemiş vekil karakterleri yasaklar. Bunlar silinir ve etkilenen değerlerin sayısı gösterilir.
  • Tırnak içindeki virgüller, tırnaklar ve satır sonları RFC 4180 kurallarına göre okunur; bir satır sonu, alt öğenin içinde gerçek bir satır sonu olarak kalır.
  • Çıktı her zaman UTF-8’dir.

Bir XML ayrıştırıcısı veya içeri aktarma dosyayı reddettiğinde

  • İçeri aktarma aracım bir alanı bulamıyor. Alan muhtemelen yeniden adlandırıldı. Seçeneklerin altındaki listeye bakın; sütunu CSV’de yeniden adlandırın ya da alıcı sistemdeki eşlemeyi düzenleyin.
  • Bir ayrıştırıcı kodlama hatası bildiriyor. Kaynak dosyayı İçeri aktarma ayarları altında gerçek kodlamasıyla açın; XML ancak CSV doğru çözüldüyse doğru UTF-8 olur.
  • Her şey tek bir öğede. Ayırıcı yanlış tahmin edilmiş; İçeri aktarma ayarları altında virgül, noktalı virgül, sekme veya dikey çizgiyi seçin.
  • CDATA, ad alanları veya bir şema gerekiyor. Dönüştürücü yalnızca düz öğeler ve öznitelikler yazar; bunları sonraki bir adımda ekleyin.

Sınırlar ve gizlilik

25 MB, 100.000 satır veya 2 milyon hücreye kadar dosyalar, ilk 200 satırın canlı önizlemesiyle açılır. Daha büyük dosyalar akış modunda dönüştürülür: dosya parçalar hâlinde iki kez okunur (bir kez sütunları ölçmek, bir kez de yazmak için), bir bildirim indirilen dosyanın tüm dosyayı kapsadığını söyler ve Kopyala sunulmaz. Tek bir çıktı dosyası en fazla 4 GB olabilir.

Dönüştürme bu sekmede arka plandaki bir işçide çalışır; böylece sayfa yanıt vermeye devam eder ve İptal işlemi durdurur. CSV hiçbir zaman bir sunucuya gönderilmez.

Örnek: başlıkları yeniden adlandırılması gereken bir sipariş dökümü

Başlıklarında boşluk ve parantez, değerlerinde ve işareti, açılı ayraçlar ve boş bir tarih bulunan bir sipariş dışa aktarımı, varsayılan ayarlarla dönüştürüldü. Üç başlık yeniden adlandırılır; boş Ship date değeri <Ship_date/> olur.

CSV
Order ID,Customer,Total (EUR),Ship date
10071,"Smith & Sons",249.00,2025-02-03
10072,"Café <Lumière>",18.50,
XML
<?xml version="1.0" encoding="UTF-8"?>
<rows>
  <row>
    <Order_ID>10071</Order_ID>
    <Customer>Smith &amp; Sons</Customer>
    <Total__EUR_>249.00</Total__EUR_>
    <Ship_date>2025-02-03</Ship_date>
  </row>
  <row>
    <Order_ID>10072</Order_ID>
    <Customer>Café &lt;Lumière&gt;</Customer>
    <Total__EUR_>18.50</Total__EUR_>
    <Ship_date/>
  </row>
</rows>

Sık sorulan sorular

Sütun adım neden değiştirildi?

XML öğe adları boşluk veya noktalama işaretlerinin çoğunu içeremez, rakamla başlayamaz ve xml ile başlayamaz. Dönüştürücü, geçerli ve benzersiz bir ad veren en küçük değişikliği yapar ve her birini listeler.

Öğe mi, öznitelik mi kullanmalıyım?

Alıcı sistem öznitelik istemedikçe alt öğeleri kullanın. Öğeler satır sonlarını yazıldığı gibi korur; öznitelik değerlerindeki boşluk karakterleri ise XML ayrıştırıcıları tarafından normalleştirilir; dönüştürücünün sekme ve satır sonlarını karakter başvurusu olarak kodlamasının nedeni budur.

Sayılara veya tarihlere tür veriliyor mu?

Hayır. XML’de yerleşik değer türleri yoktur; bu yüzden her değer CSV’deki metin olarak yazılır. Türler şemadan veya dosyayı okuyan programdan gelir.

Standartlar ve kaynaklar