1. Ana Sayfa
  2. C Sharp

XML Nedir? Kullanımı, Temel Özellikleri ve Örneği

XML Nedir? Kullanımı, Temel Özellikleri ve Örneği
+ - 0

XML Nedir? Kullanımı, Temel Özellikleri ve Örneği yazım ile C# eğitim setime devam ediyorum arkadaşlar.

XML Nedir? Kullanımı, Temel Özellikleri ve Örneği

XML Nedir?

eXtensible Markup Language yani Türkçe açılımı Genişletilebilir İşaretleme Dili anlamına gelen XML, kolay bir şekilde okunabilecek ve anlanılabilecek veri dökümanıdır. İnternet üzerinden standart bir şekilde veri iletimi yapmak amacı ile geliştirilmiştir. Başka açıdan baktığımızda ise metinsel olarak bir veri tabanı oluşturmaya yarayan, W3C (World Wide Web Consortium) tarafından tanımlanmış bir standarttır. XML dosya tipinin en büyük özelliği veri tutma özelliğinin yanı sıra farklı platformlarda oluşturulmuş yazılımlar arasından veri alışverişi konusunda ortak bir alt yapı görevi üstlenmesidir. Kısacası XML ile farklı platformlar (masaüstü, web, mobil gibi) için farklı programlama dilleri (asp.net, php, java, c# gibi) ile yazılan uygulamalar arasında çok kolaylıkla veri alışverişi yapabilmeyi sağlamaktadır.

XML’in çıkış tarihi Microsoft’un .Net ‘i ile yakın tarihlerde çıktığından birçok insan XML’i Microsoft’un bir ürünü olarak bilmektedir. Ancak yukarıda söylediğimiz gibi XML teknolojisi W3C tarafından çıkartılmıştır.

 

XML Kullanımı

XMl standartı ortaya çıkmadan önce sistemler ve platformlar arası veri iletimi çok sancılı bir süreçti. Bir platformda üretilmiş verilerin başka bir platforma iletilmesi için arada bir sürü işlem yapılması gerekiyor; eldeki verilen hedef platform tarafından okunabilir hale getirilmesi için karmaşık süreçler gerekiyordu. Bu sorunlar yüzünden/sayesinde XML teknolojisi ortaya çıkarılmıştır.
Günümüzde birçok yazılım, diğer yazılımlarla veri alışverişini XML formatı ile yapmaktadır. Ayrıca XML’i esas format olarak kullanan uygulamalara ve veri tabanlarına bile rastlayabiliyoruz. Microsoft’un geliştirdiği .NET teknolojisindeki DataSet nesneleri XML ortamındadır. Ayrıca XML, ofis uygulamalarının alt yapısı haline de getirilmiştir. İçeriklerin, doküman yapılarının ve şekillerinin birbirinden ayrı olarak ele alınması, XML’i içerik yönetim sistemleri için ideal bir format haline getirmiştir.

 

XML’in temel özellikleri nelerdir?

XML, temelde HTML gibi bir işaretleme dilidir. XML’de kullanılan etiketler HTML’deki etiketlerden farklı olarak XML dökümanı oluşturan kişiler belirler. Her ne kadar isimlendirme işlemini bize bıraksa da uyulması gereken sert ve katı kuralları da vardır.
Kuralları ise şunlardır.

  • XML etiketleri hiyerarşik bir yapıda oluşturulmalıdır.
  • Açılan etiketler mutlaka kapatılmalıdır.
  • XML’ de etiketlere nitelik atanabilir.
  • Xml Case Sensitive bir dildir.

 

XML dilini nerelerde kullanabilirim?

XML dili günümüzde çok farklı alanlarda kendisine kullanım alanı bulmuştur. İnternet üzerinden veri tabanı transferlerinden tutunda, E-Fatura ve E-Defter gibi belgelerin elektronik ortamda transferinde ve hatta Ofis programlarının temelinde XML vardır.

 

XML Oluşturma

XML temelde hiyerarşik bir not defteri gibidir. Bir metin belgesi (*.txt) dosyası oluşturup uzantısını XML olarak değiştirdiğimizde bir XML belgesi elde etmiş oluruz. Ancak uzantısı değiştirilmiş bu metin belgesinin gerçekten bir XML belgesi olarak algılanabilmesi için ilk satırında aşağıdaki ibare yer almalıdır.

<?xml version="1.0" encoding="utf-8" ?>
<RootElement>
    
</RootElement>

NOT: Bir XML dosyasına sadece ilk satırdaki girişi yazarsanız KÖK ÖGESİ EKSİK! hatasını alırsınız. Bu yüzden en azından bir Root Element yani kök element eklemek zorundasınız.

XMl belgelerde etiketler HTML ‘de olduğu gibi büyüktür (>) ve küçüktür (<) imgeleri aralarında yazılı

Bilgi: hangisinin büyüktür hangisinin küçüktür olduğunu aklınızda tutamıyorsanız > yada < simgesinin sol tarafına bir dik çizgi çekin (|). b oluyorsa o simge büyüktür simgesidir. k oluyorsa küçüktür simgesidir. ? (İlk okulda bir öğretmenim bu şekilde anlatmıştı. ?)

XML Belgeleri içinde iki ana nokta vardır. Bunlar root ve element’tir.

Root; veri tabanındaki ana kümeyi temsil eder. SQL tarafından bakarsak tablomuzu temsil eder.

Element; veri tabanımızdaki alt kümeleri temsil eder. SQL tarafından bakarsak kolonları temsil eder.

Elementleri de kendi içlerinde verilerimize göre şekillendirebiliriz. Bunlar ise SQL tarafından bakıldığında satırları temsil eder. Burada istediğiniz kadar Element yani veri ekleyebilirsiniz. Her eklediğiniz element yeni bir veriyi temsil eder. Element yapısı atribute dediğimiz bir kimliklendirme yapısınada sahiptir.

Aşağıda gördüğünüz gibi her bir elemente bir id (isim) tanımlaması yaparak da özelleştirebilirsiniz. Son olarak bir bilgi saha verelim. Root ve Element yapıdaki isimlendirmeleri veri tabanınıza uygun olarak düzenleyebilirsiniz. Örneğin Root’un adına tablo adınızı, Elementlere ise kolon adlarını direk yazabilirsiniz.

Elbette gizlilik söz konusu ise anahtar kelimeler kullanarak direk olarak tablo ve kolon adlarını vermemiş olursunuz.

Örnek bir XML belgesine göz atalım,

<?xml version="1.0" encoding="utf-8"?>
<Personeller>      
       <Personel id="1">
                <ad>Ahmet</ad>
                <soyad>Yılmaz</soyad>
       </Personel>        
       <Personel id="2">
                <ad>Cenk</ad>
                <soyad>Yiğit</soyad>
        </Personel>      
       <Personel id="5">
                <ad>Hülya</ad>
                <soyad>Erdem</soyad>
        </Personel>       
       <Personel id="8">
                <ad>Gamze</ad>
                <soyad>Yılmaz</soyad>
        </Personel>
</Personeller>

 

XML Yazı Serisi Hakkında

XML konusu ile ilgili olarak bir yazı serisi yazacağım. FTP Üzerine İşlemler gibi olacak. Her ders Oluşturma, Okuma, Ekleme, Güncelleme, Silme konularına bakacağız. Son olarak da tıpkı sql veritabanı ile çalışıyormuşuz gibi davranabileceğimiz bir class hazırlamaya çalışacağım. Bu şekilde zorlanmadan XML ile çalışabileceğiz.

 

**********************************************************

C# XML Üzerine İşlemler

Şuanki planıma göre toplamda 17 yazılık bir seri olacak. Genel başlıklar ise aşağıdaki gibi olacak. Elbette liste değişebilir. Belki bazılarından vazgeçerim belki dersleri birleştiririm belli olmaz.

  1. √ – XML Nedir? Kullanımı, Temel Özellikleri ve Örneği
  2. √ – XML Oluşturma
  3. √ – XML Verileri Gridde Gösterme
  4. √ – XML Veri Ekleme
  5. √ – XML Veri Güncelleme
  6. √ – XML Veri Silme
  7. √ – XML İşlemleri Class Hazırlama
  8. √ – XML URL’den Okuma
    • Bu ders için ek bir ders açmamaya karar verdim.  file_path değişkenine xml url si yazmanız yeterli olacaktır.
  9. √ – DataSet ile XML Dosyası Nasıl Oluşturulur
  10. √ – XML Dosyası ile DataSet Nasıl Oluşturulur ve Okunur?
  11. √ – SQL’den bir XML dosyası nasıl oluşturulur
    • Bu ders içinde ek bir ders açmamaya karar verdim. SQL server bağlantısı yapıp bir select sorgusunu dataset’e atamasını yaptıktan sonra 9. maddedeki işlemleri uygulayabilirsiniz.
  12. √ – XML dosyasında nasıl arama yapılır?
  13. √ – Bir XML dosyasında filtreleme
  14. √ – XML’den veritabanına veri nasıl eklenir
    • Bu ders içinde ek bir ders açmamaya karar verdim. DataSet’e eklediğimiz verileri for döngüsü ile sql’e kaydet işlemi yapıyoruz sadece. Bu sebeple ek ders eklemeye gerek yok arkadaşlar.
  15. √ – XML’den Excel dosyası nasıl oluşturulur
    • Bu dersi hazırlarken kodlarda bir sorun yaşadım ve o sorunu çözemedim. Bu sebeple bu dersi iptal ediyorum arkadaşlar. Elbette bu kodlar çok önceden elimde vardı. büyük ihtimalle bu sebeple çalışmadılar.
  16. √ – Excel’den XML dosyası nasıl oluşturulur
  17. √ – XML dosyasından bir TreeView nasıl oluşturulur

Hatta bu listeyi, bu serideki her yazının altına eklerim.

**********************************************************

 

XML Nedir? Kullanımı, Temel Özellikleri ve Örneği dersimizde bu kadar arkadaşlar. Diğer derslerimizde görüşmek üzere.

Ayrıca bu yazı serininin derslerini Github projeme ekleyeceğim.

C Sharp Eğitim Seti eğitimi sayfasına gitmek için tıklayınız.

Derslerime özel olarak hazırladığım Github Projeme buradan ulaşabilirsiniz…

Takipte ve Sağlıcakla kalın. ?

Bu yazıya tepkiniz ne oldu?

Yazar Hakkında

Lise Ağ Sistemleri ve Yönetimi bölümü, üniversite Bilgisayar Programcılığı bölümü Ön Lisans, Yönetim Bilişim Sistemleri Lisans öğrenimi aldım. Askerlik görevimi tamamladım. Uzmanlık alanım; C# ve SQL Programlama dilleri ile müşteri odaklı, kullanıcı dostu ERP ve CRM gibi sistemleri geliştirmektir. Ayrıca şuanda PHP ve MYSQL alanında projeler geliştirmekteyim. C++, Phyton, Xamarin, MVC gibi konuları öğrenmek ve kendimi geliştirme çabası içerisindeyim. Discord için: https://discord.gg/FBxZeHu9

Değerli yorumlarınızı bekliyorum. :)