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?
- Dosya aç düğmesini seçin, araca bir
.csv,.tsvveya.txtdosyası 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. - Kök öğe ve Satır öğesi adlarını (varsayılan olarak
rowsverow) dosyayı alacak sistemin beklediği şekilde belirleyin. - 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 öğeler | Varsayılan: <row><Customer>Smith & Sons</Customer>…</row>. Değerlerdeki satır sonlarını korur ve çoğu içeri aktarma aracına uygundur. |
|---|---|
| Öznitelikler | Her satır için kendiliğinden kapanan bir öğe: <row Customer="Smith & Sons" …/>. Daha kısadır; bir ayrıştırıcının koruması için değerlerdeki sekme ve satır sonları 	, ve olarak yazılır. |
| Boş değerleri yazma | Varsayı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. |
| Girinti | 2 boşluk (varsayılan), 4 boşluk veya belgenin tamamını tek satıra yazan Yok (küçültülmüş). |
| XML bildirimini ekle | Varsayı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üğündexmlile başlayan adlar da öyle (xml_ref→_xml_ref). - İki başlık aynı ada dönüşürse ikincisi
_2alır (a bvea_b→a_b,a_b_2). XML adları büyük/küçük harfe duyarlıdır; bu yüzdenNamevenameayrı kalır. - Her yazı sistemindeki harfler korunur:
Größeve価格geçerli XML adlarıdır;sipariş_noveyaürüngibi Türkçe adlar da öyle. Boş bir başlık önceColumn 7, ardındanColumn_7olur. - Her yeniden adlandırma seçeneklerin altında
old → newbiç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:00731sı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.
Order ID,Customer,Total (EUR),Ship date 10071,"Smith & Sons",249.00,2025-02-03 10072,"Café <Lumière>",18.50,
<?xml version="1.0" encoding="UTF-8"?>
<rows>
<row>
<Order_ID>10071</Order_ID>
<Customer>Smith & Sons</Customer>
<Total__EUR_>249.00</Total__EUR_>
<Ship_date>2025-02-03</Ship_date>
</row>
<row>
<Order_ID>10072</Order_ID>
<Customer>Café <Lumière></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.