YAML'dan XML'e
YAML verisini XML belgesine çevirin; "@" ile başlayan anahtar öznitelik, liste tekrarlanan etiket olur
Verileriniz sizde kalır. Dönüşüm tarayıcının içinde yapılır, hiçbir şey sunucuya gitmez.
Bu araç işinizi gördü mü?
Teşekkürler, geri bildiriminiz alındı.
Nasıl çalışır?
Elinizdeki YAML'ı (bir application.yml, bir Ansible değişken dosyası ya da bir API örneği) XML isteyen bir sisteme vermeniz gerekiyorsa YAML'ı sol panele yapıştırın; XML sağ panelde hemen oluşur. YAML tek bir üst anahtarla başlıyorsa o anahtar kök eleman olur: "siparis:" ile başlayan metin <siparis> belgesine dönüşür. Birden çok üst anahtar ya da en üstte bir liste varsa XML'in tek kök kuralı gereği her şey "Kök eleman adı" kutusundaki adla (varsayılan root) sarılır. Adı "@" ile başlayan anahtar özniteliğe çevrilir ("@no": 1024 → <siparis no="1024">), "#text" anahtarı elemanın kendi metni olur; bu kurallar XML'den YAML'a aracının kurallarının tersidir, yani iki araç arasında gidip gelince aynı XML'i alırsınız. Liste, aynı adla tekrarlanan etikete dönüşür: urun altındaki iki öğe iki <urun> olur. Boş değer ("iptal notu:") boş eleman <iptal_notu/> olur. XML'de geçersiz bir ad (boşluk, rakamla başlama) sessizce bozulmaz; alt çizgiyle uyarlanır ve sonuç satırında hangi anahtarın neye döndüğü yazılır. Değerler kaynaktaki yazımla geçer: 1.10 fiyatı 1.1'e, 0532 telefonu 532'ye dönmez.
Bu araç yaml to xml, yaml to xml converter aramalarıyla da biliniyor.
YAML listesi nedir?
YAML'da liste, her öğesi "- " ile başlayan ve aynı girintide duran satırlardır; "- kod: TR-11" biçimindeki satır, öğenin kendisinin de bir eşleme olduğunu gösterir. Tek satırda köşeli parantezle de yazılabilir: [a, b]. XML'de adsız liste kavramı yoktur; aynı adla art arda gelen etiketler liste yerine geçer. Bu yüzden "urun:" altındaki liste, her öğesi bir <urun> olan tekrarlanan etiketlere dönüşür.
XML kök elemanı nedir?
Kök eleman, bir XML belgesindeki bütün veriyi saran tek en dış etikettir: <siparis> … </siparis>. XML iki kök kabul etmez; YAML'ın birden çok üst anahtarı yan yana yazılsaydı belge hiçbir programda açılmazdı. Araç bu yüzden tek üst anahtarı kök yapar, yoksa "Kök eleman adı" kutusundaki adla her şeyi sarar. Karşı sistem belirli bir kök adı bekliyorsa (ör. Order) kutuya onu yazın.
YAML ile XML arasındaki fark nedir?
YAML yapıyı girintiyle gösterir, kısa ve elle düzenlemeye uygundur; tırnaksız değerin türünü (sayı, true, null) okuyucu tahmin eder. XML her değeri etiket arasına alır, öznitelik taşıyabilir, şemayla (XSD) doğrulanabilir ve tür bilgisi taşımaz: her değer metindir. YAML'dan XML'e geçerken kaybolan bir şey yoktur, ama tersine iki kavramın karşılığı gerekir: öznitelik için "@", karışık metin için "#text" kuralı. Kurumsal entegrasyon ve eski sistemler XML ister; yapılandırma dosyaları YAML'da tutulur.
Hangi YAML yapısı hangi XML'e dönüşür
Araç YAML'ı XML'den YAML'a aracının kurallarının tersiyle yazar; amaç, iki yön arasında gidip gelen bir belgenin aynı kalmasıdır. Eşleme (anahtar: değer) alt elemanlara, liste tekrarlanan kardeş etiketlere, "@" ile başlayan anahtar özniteliğe, "#text" elemanın metnine dönüşür. Liste içinde liste varsa iç liste <item> etiketleriyle sarılır, çünkü XML'de adsız liste yoktur.
Kök kuralı: XML tam olarak bir en dış eleman ister. YAML tek üst anahtarla başlıyorsa (ve o anahtarın değeri liste değilse) bu anahtar kök olur ve sonuç satırında söylenir. Aksi durumda "Kök eleman adı" kutusundaki ad kullanılır; en üstte liste varsa öğeleri <item> etiketine yazılır.
- "@no": 1024 → <siparis no="1024">
- urun: [ {kod: TR-11}, {kod: TR-42} ] → iki <urun> etiketi
- iptal notu: (boş) → <iptal_notu/>
- "#text": Merhaba → elemanın metni: <not>Merhaba</not>
Tuzak: YAML'ın sayıya çevirdiği değerler
Sıradan bir YAML okuyucusu tırnaksız 1.10'u 1.1 sayısına, 0532'yi 532'ye, 1e3'ü 1000'e çevirir; bu değerler XML'e yazıldığında bilgi kaybolmuş olur. Bu araç değeri yalnızca yazımı değişmeyecekse sayı sayar; 1.10, 0532, 1e3 ve 2026-09-27 kaynakta nasıl yazıldıysa XML'de de öyle çıkar. XML'de zaten tür yoktur, her değer metindir; doğru olan, metni değiştirmeden taşımaktır.
Desteklenmeyenler açıkça söylenir: çapa ve takma ad (&ad, *ad), tür etiketi (!!str), "?" ile başlayan karmaşık anahtar ve tek metinde birden çok belge (ikinci ---) satır numarasıyla hata verir. Girinti hatası da satır numarasıyla bildirilir; YAML'da girinti sekme olamaz.
Sık sorulanlar
YAML dosyası XML'e nasıl çevrilir?
YAML dosyasını (.yml ya da .yaml) bir metin düzenleyiciyle açın, içeriğini kopyalayıp bu sayfanın sol paneline yapıştırın. XML sağ panelde anında oluşur; kopyalayabilir ya da .xml olarak indirebilirsiniz. YAML'da bir hata varsa mesaj satır numarasını ve sorunun ne olduğunu söyler.
YAML'da XML özniteliği nasıl yazılır?
Anahtarın adının başına @ koyun ve tırnak içinde yazın: "@id": 7. Araç bu anahtarı id="7" özniteliğine çevirir. Elemanın hem özniteliği hem metni olacaksa metni "#text" anahtarına yazın: not: {"@dil": tr, "#text": Merhaba} → <not dil="tr">Merhaba</not>.
Kök eleman adı kutusu neden bazen kullanılmıyor?
YAML tek bir üst anahtarla başlıyorsa (örneğin yalnız "siparis:") o anahtar zaten kök elemandır ve kutudaki ad gerekmez; sonuç satırı bunu söyler. Kutudaki ad, YAML birden çok üst anahtarla ya da bir listeyle başladığında kullanılır, çünkü XML tek bir en dış eleman zorunlu kılar.
Verilerim bir sunucuya gönderiliyor mu?
Hayır. YAML'ın okunması ve XML'in yazılması tamamen tarayıcınızda yapılır; yapılandırmanızdaki parolalar ya da adresler bu sayfadan çıkmaz. Sayfa açıldıktan sonra internet olmadan da çalışır.