XML'den YAML'a
XML yapılandırmasını YAML'a çevirin; öznitelik @ ile, tekrarlanan etiket liste olarak geçer, sayı gibi görünen değerler tırnaklanır
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?
Eski bir Java projesinin XML yapılandırmasını ya da bir servisin XML çıktısını Kubernetes, Ansible veya Spring Boot'un application.yml dosyasına taşıyacaksanız XML'i sol panele yapıştırın; YAML siz yapıştırır yapıştırmaz sağ panelde oluşur. Kök etiket YAML'ın en üst anahtarı olur: <sunucu> ile başlayan belge "sunucu:" satırıyla başlar. Özniteliğin önüne @ gelir (ortam="uretim" → "@ortam": uretim), aynı adla iki kez geçen etiket (iki <izin>) tek anahtar altında liste olur. XML'de sayı ya da evet/hayır türü yoktur; <port>8080</port> bir metindir. YAML ise tırnaksız 8080'i sayı, tırnaksız on'u (eski okuyucularda) true olarak okur. Bu yüzden araç bu tür değerleri "8080" ve "on" diye tırnaklar ve kaç değerin tırnaklandığını sonuç satırında söyler. Tırnakları kaldırmak isterseniz bunu bilerek yapın: hedef program o alanı sayı bekliyorsa kaldırmak doğrudur, dize bekliyorsa bırakın. Girintiyi 2 ya da 4 boşluk seçebilirsiniz; sekme YAML'da yasaktır. Belgede yorum, işlem talimatı (<?...?>) ve DOCTYPE varsa YAML'a geçmez.
Bu araç xml to yaml, xml to yaml converter aramalarıyla da biliniyor.
YAML nedir?
YAML, yapıyı parantez yerine girintiyle gösteren bir veri biçimidir; Kubernetes bildirimleri, GitHub Actions iş akışları, docker-compose ve Spring Boot'un application.yml dosyası bu biçimdedir. Her satır "anahtar: değer" ya da "- öğe" şeklindedir, iç içe yapı boşlukla girintilenir ve girinti sekme olamaz. Tırnaksız değerin türünü okuyucu tahmin eder; bu kolaylık XML'den gelen veride tuzağa dönüşür, çünkü XML'de her şey metindir.
XML özniteliği nedir?
Öznitelik, bir XML etiketinin açılış kısmına ad="değer" biçiminde yazılan ek bilgidir: <sunucu ortam="uretim"> etiketinde ortam bir özniteliktir. YAML'da öznitelik ile alt eleman ayrımı yoktur, ikisi de anahtar olur. Bu yüzden dönüşümde özniteliğin adının önüne @ konur; ayrım korunur ve YAML'dan tekrar XML üretildiğinde hangi anahtarın öznitelik olduğu bilinir.
XML ile YAML arasındaki fark nedir?
XML her değeri açılış ve kapanış etiketi arasına alır, öznitelik taşıyabilir ve bir şemayla (XSD) doğrulanabilir; bedeli uzunluktur. YAML aynı yapıyı girintiyle, etiketsiz ve çok daha kısa yazar, bu yüzden elle düzenlenen yapılandırma dosyalarında yaygındır. Önemli fark türdedir: XML'de 8080 metindir, YAML'da tırnaksız 8080 sayıdır. Öznitelik ve karışık metin gibi XML yapılarının YAML'da karşılığı yoktur; @ ve #text gibi adlandırma kurallarıyla taşınırlar. Program XML istiyorsa XML, insan düzenleyecekse YAML seçin.
Tuzak: XML'deki "on" YAML'da true olabilir
XML her değeri metin olarak taşır, tür bilgisini şema ya da program verir. YAML ise tırnaksız değerin türünü kendisi tahmin eder: 8080 sayı, true mantıksal değer, null boş değer olur. YAML 1.1 okuyucuları (PyYAML, eski Ruby, bazı Ansible sürümleri) buna yes, no, on, off ve 2026-09-27 gibi tarihleri de ekler. Bir XML'deki <https>on</https> değeri tırnaksız yazılsaydı bu okuyucular onu true yapardı; ülke kodu listesindeki NO (Norveç) false olurdu. Araç bu yüzden türe benzeyen her değeri çift tırnakla yazar.
Diğer yön de önemlidir: XML'de sayı gibi görünen bir kimlik (<tel>0532…</tel>) YAML'da tırnaksız yazılsaydı baştaki sıfır kaybolabilirdi. Tırnak, XML'de ne yazıyorsa YAML okuyucusunun da onu metin olarak görmesini sağlar.
- <port>8080</port> → port: "8080"
- <https>on</https> → https: "on" (YAML 1.1'de tırnaksız on = true)
- <ulke>NO</ulke> → ulke: "NO" (tırnaksız NO = false)
- <ad>arac-kosesi</ad> → ad: arac-kosesi (tırnak gerekmez)
Öznitelik, liste ve karışık metin nasıl yazılır
XML'in YAML'da doğrudan karşılığı olmayan üç yapısı vardır ve araç üçünde de XML'den JSON'a aracıyla aynı kuralı izler; böylece iki çıktı birbirine çevrilebilir. Öznitelik, adının başına @ konmuş bir anahtardır: <urun id="7"> → "@id": "7". @ YAML'da ayrılmış bir işaret olduğu için anahtar tırnak içinde yazılır.
Aynı ebeveynde tekrarlanan etiket listeye dönüşür; tek geçen etiket liste olmaz. Bu, bir <urun> tek kaldığında YAML'ın liste değil eşleme göstermesi demektir; programınız her zaman liste bekliyorsa bunu okurken hesaba katın. Hem metni hem alt etiketi olan elemanın metni "#text" anahtarına yazılır. Ters yön için YAML'dan XML'e aracı aynı kuralları geri uygular: "@id" yeniden öznitelik olur.
Sık sorulanlar
XML dosyası YAML'a nasıl çevrilir?
XML dosyasını bir metin düzenleyiciyle açıp içeriğini kopyalayın ve bu sayfadaki sol panele yapıştırın. YAML sağ panelde anında oluşur; girintiyi 2 ya da 4 boşluk seçip sonucu kopyalayabilir veya .yaml dosyası olarak indirebilirsiniz. XML bozuksa hata mesajı sorunlu etiketi ve satır numarasını söyler.
YAML çıktısında bazı değerler neden tırnak içinde?
XML'deki her değer metindir, ama YAML tırnaksız 8080'i sayı, on ve yes'i true, NO'yu false olarak okur. Değerin anlamı değişmesin diye araç türe benzeyen değerleri çift tırnakla yazar ve kaç tanesini tırnakladığını sonuç satırında gösterir. Hedef program alanı sayı olarak bekliyorsa tırnağı kendiniz kaldırabilirsiniz.
Öznitelikler YAML'da kayboluyor mu?
Hayır. Her öznitelik, adının önüne @ konmuş bir anahtar olarak yazılır: <sunucu ortam="uretim"> → "@ortam": uretim. Ad alanı bildirimleri (xmlns) de öznitelik olarak korunur. YAML'dan XML'e aracı bu anahtarları yeniden özniteliğe çevirir.
XML verim bir sunucuya gönderiliyor mu?
Hayır. XML'in ayrıştırılması ve YAML'ın yazılması tamamen tarayıcınızda yapılır; yapılandırma dosyanızdaki parola ya da sunucu adresi bu sayfadan çıkmaz. Sayfa yüklendikten sonra internet bağlantısı olmadan da çalışır.