Cihazınızda çalışır · Dosyanız cihazınızdan asla çıkmaz.
Yinelenen kayıtlardan oluşan bir XML dosyası bırakın (<kayitlar><kayit>…</kayit>…</kayitlar>, bir RSS akışı, bir veritabanı dışa aktarımı) ve her kayıt için bir satır içeren CSV alın. Belge tarayıcının XML ayrıştırıcısıyla okunur, sonra en uzun yinelenen öğe listesi, onu ne sararsa sarsın (sarmalayıcıdaki bir öznitelik ya da bir akışın öğelerinin yanındaki kendi başlığı ve bağlantısı), otomatik bulunur ve sonuç satırı kullanılan listeyi adlandırır.
Her kayıt JSON’dan CSV’ye aracındakiyle aynı biçimde düzleştirilir: iç içe öğeler nokta ile ayrılmış sütun olur (adres.il), öznitelikler @ önekli sütun olur (@id), kendi alt öğeleri olan yinelenen iç öğeler numaralı sütun alır (line.0.sku), yalnızca metin taşıyan yinelenen öğeler noktalı virgülle birleştirilir (a;b) ve başlık satırı bulunan tüm sütunların birleşimidir. Değerler tam XML’deki gibi yazılır. Virgül, tırnak ya da satır sonu içeren alanlar RFC 4180’e göre tırnaklanır.
CSV, Excel için isteğe bağlı BOM ile UTF-8’dir; ayırıcıyı siz seçersiniz (Türkçe Excel için noktalı virgül) ve indirmeden önce ilk 200 satırı görürsünüz. Hiçbir şey yüklenmez.
Şunlar için uygun değildir: Birden çok kayıt listesi içeren belgeler: yalnızca en uzunu satır olur; başka biri için JSON’a çevirin, o listeyi kopyalayın ve JSON’dan CSV’ye aracıyla dönüştürün.
Satırlar, onu ne sararsa sarsın, kökün altında herhangi bir yerdeki en uzun yinelenen öğe listesidir. <records count="2"><record>…</record><record>…</record></records>, sarmalayıcının bir özniteliği olmasına rağmen her <record> için bir satır verir. Bir RSS akışı, kanalın kendi başlığı ve bağlantısı öğelerin yanında dursa da her <item> için title, link ve pubDate gibi sütunlarla bir satır verir. Sonucun altındaki satır kullanılan listeyi adlandırır, örneğin rss.channel.item.
Akışın kendi başlığı gibi o listenin yanındaki değerler hiçbir kaydın parçası değildir ve dışarıda kalır. Bir belgede birkaç kayıt listesi varsa yalnızca en uzunu satır olur. Başka bir liste için dosyayı XML’den JSON’a (/xml-to-json) aracıyla çevirin, o listeyi [ işaretinden ] işaretine kadar kopyalayın, JSON’dan CSV’ye (/json-to-csv) aracına yapıştırın ve dönüştürün.
Yinelenen öğe yoksa tek kayıt tek satır olur ve sütunları kendi alan adlarıdır: <records><record><name>Ali</name><city>İzmir</city></record></records> name ve city sütunlarını verir. Bu sayede bazen tek, bazen çok kayıt taşıyan bir dosya aynı başlık satırını korur; başka bir program sütunları adlarıyla okuyorsa bu önemlidir.
Değerler tam XML’deki gibi yazılır: 1.50 yine 1.50, TRUE yine TRUE kalır; NULL içeren bir öğe NULL metnini, boş bir öğe ise boş hücre verir. 007 sıfırlarını korur, tarihler yazıldığı gibi kalır. =, +, - ya da @ ile başlayan bir değerin önüne, JSON’dan CSV’ye (/json-to-csv) aracındaki gibi kesme işareti konur; böylece elektronik tablo onu formül olarak çalıştırmaz.
Yalnızca metin taşıyan yinelenen alt öğeler tek hücrede noktalı virgülle birleştirilir; iki <tag> öğesi a;b verir. Kendi alt öğeleri olan yinelenen alt öğeler line.0.sku ve line.1.sku gibi numaralı sütunlar alır. Ad alanı önekleri sütun adlarında kalır, soap:Body.price gibi. Alt öğelerin yanında duran metin, onların arasındaki konumu olmadan bir #text sütununa gider. Dosya, ilk satırının bildirdiği kodlamada okunur.
Tablolar ve veriler içinde daha fazlası
Bu sayfa diğer dillerde: English · العربية · Deutsch · Français · Español · Русский · Português · 中文 · हिन्दी · עברית · فارسی · اردو · Bahasa Indonesia · বাংলা