XML Ayrıştırıcı
XML (Extensible Markup Language), yapılandırılmış verileri kodlamak için bir işaretleme dilidir. JSON birçok web API'sinde XML'in yerini almış olsa da, XML kurumsal sistemler, SOAP web hizmetleri ve yapılandırma dosyaları için hâlâ vazgeçilmezdir. Bu araç XML'i ayrıştırır ve uygun girintileme ile düzgün yazdırır.
Spesifikasyonlar
Yaygin Kullanim Alanlari
- SOAP API isteklerini ve yanıtlarını biçimlendirme
- Maven pom.xml dosyalarını okuma ve doğrulama
- RSS ve Atom akış içeriğini ayrıştırma
- Android düzen XML dosyalarını hata ayıklama
- SVG grafik dosyalarını işleme
- .NET yapılandırma dosyalarını inceleme (web.config, app.config)
Ozellikler
- Uygun girintileme ile düzgün yazdırma
- Ad alanlarını ve ön ekleri koruma
- CDATA bölümlerini ve işleme talimatlarını işleme
- Öğelerin yanında öznitelikleri görüntüleme
- Programatik işleme için JSON'a dönüştürme
- İyi biçimlendirilmiş XML yapısını doğrulama
Ornekler
Maven POM
Deneyin →Bağımlılıkları tanımlayan bir Maven proje nesne modeli.
<?xml version="1.0" encoding="UTF-8"?>
<project>
<groupId>com.example</groupId>
<artifactId>my-app</artifactId>
<version>1.0.0</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
</dependency>
</dependencies>
</project>Ipuclari
- XML büyük/küçük harfe duyarlıdır. <User> ve <user> farklı öğelerdir.
- Tüm öğeler düzgün kapatılmalıdır. Kendiliğinden kapanan etiketler için <br/> kullanın.
- Öznitelik değerleri tırnak içinde olmalıdır (tek veya çift tırnak).
- < veya & karakterleri içeren içerik için CDATA bölümleri kullanın.
Anlama XML Ayrıştırıcı
XML (Extensible Markup Language), yapılandırılmış verileri hem insanlar tarafından okunabilir hem de makineler tarafından ayrıştırılabilir bir biçimde kodlamak için bir W3C standardıdır. Sabit bir etiket kümesine sahip HTML'den farklı olarak XML, kendi öğelerinizi ve özniteliklerinizi tanımlamanıza olanak tanır; bu da onu alana özgü işaretleme dilleri oluşturmak için bir üst dil yapar. 1.0 belirtimi 1998'de yayımlanmış olup hâlâ yaygın biçimde kullanılmaktadır.
XML'in belirleyici özelliği katı sözdizimidir. Her açılış etiketi bir kapanış etiketine sahip olmalıdır (veya kendiliğinden kapanmalıdır). Öznitelikler tırnak içinde olmalıdır. Öğeler düzgün iç içe geçirilmelidir. Bu kurallara uyan bir belge "iyi biçimlendirilmiş" (well-formed) olarak adlandırılır. Ek olarak bir şemaya (DTD, XML Schema veya RELAX NG) uyan bir belge "geçerli" (valid) olarak adlandırılır. Bu katılık, farklı teknolojilerle oluşturulmuş sistemler arasında veri alışverişinde XML'i güvenilir kılar.
Ad alanları, XML'in öğe adı çakışmalarını önleme mekanizmasıdır. Ad alanı, bir ön ek ile ilişkilendirilmiş bir URI'dir (xmlns:soap="..."); bu, <soap:Envelope> ve <html:body> öğelerinin aynı belgede belirsizlik olmadan bir arada var olmasını sağlar. Ad alanları SOAP web hizmetlerinde, SAML ifadelerinde, SVG grafiklerinde ve birden fazla söz dağarcığını birleştiren her belgede gereklidir.
JSON, daha hafif sözdizimi nedeniyle çoğu web API'sinde XML'in yerini almış olsa da, XML kurumsal entegrasyon (SOAP, EDI), belge biçimleri (DOCX, XLSX, ODF), yapılandırma (Maven pom.xml, .NET web.config, Android düzenleri), sendikasyon (RSS, Atom) ve vektör grafikleri (SVG) alanlarında hâlâ baskındır. XML'i anlamak, eski sistemler, kurumsal yazılımlar ve belge işleme hatları ile çalışmak için gereklidir.
İyi biçimlendirilmiş XML temel sözdizimi kurallarına uyar: düzgün iç içe geçirme, kapatılmış etiketler, tırnaklı öznitelikler ve tek bir kök öğe. Herhangi bir XML ayrıştırıcısı iyi biçimlendirilmiş XML'i okuyabilir. Geçerli XML daha ileri gider — hangi öğe ve özniteliklerin izin verildiğini, sıralarını ve veri tiplerini tanımlayan bir şemaya (DTD, XML Schema veya RELAX NG) uyar. Doğrulama isteğe bağlıdır ancak her iki tarafın da belge yapısı üzerinde anlaşması gereken veri alışverişi için önemlidir.
Ad alanları, öğeleri bir URI ile ilişkilendirerek öğe adı çakışmalarını önler. Ad alanı xmlns:prefix="URI" ile bildirilir ve ardından öğelerde ön ek olarak kullanılır (<prefix:element>). Varsayılan ad alanı (ön ek olmadan xmlns="URI") o öğe ve nitelenmemiş alt öğeleri için geçerlidir. URI'nin gerçek bir kaynağa işaret etmesi gerekmez — yalnızca benzersiz bir tanımlayıcı olarak hizmet eder. CDATA bölümleri (<![CDATA[ ... ]]>), < ve & gibi karakterleri içeren içeriği < ve & olarak kaçırmadan dahil etmenin bir yolunu sunar. Bu, XML öğeleri içinde JavaScript, SQL sorguları veya HTML parçaları gömmek için kullanışlıdır.
XML, JSON'da bulunmayan birçok özellik sunar: söz dağarcıklarını birleştirmek için ad alanları, biçimsel doğrulama için şemalar, öğe içeriğinin yanında üst veri için öznitelikler, işleme talimatları, karışık içerik (öğelerle iç içe geçmiş metin) ve bildirimsel dönüşüm için XSLT. XML, belge odaklı veriler, karmaşık kurumsal entegrasyonlar ve sistemler arası biçimsel sözleşmeler gerektiren senaryolar için daha iyi bir seçimdir. JSON, daha hafif sözdizimi ve evrensel araç desteğinin XML'in yapısal zenginliğinden daha önemli olduğu web uygulamalarında basit veri alışverişi için daha uygundur.