SQL FOR XML PATH Kullanımı

Tablo şeklinde oluşturulmuş verilerden  XML belgeleri elde etmek istiyor isek en iyi kullanılacak araç FOR XML PATH’tir. Çünkü PATH modu XPATH standardının avantajlarını sağlamaktadır. XPATH, XML hiyerarşileri geliştirmek için kullanılan bir W3C standardıdır. XPATH ayrıca XQuery ve XPointer gibi diğer kullanışlı araçları da içermektedir.

Burada kısaca W3C nedir açıklayayım. W3c veya diğer adı ile World Wide Web Consortium (www.w3.org), bir gruptur. Bu grup kimisi ücretli kimisi gönüllü olarak hizmet eden ve internet standartlarını tanımlayan profesyonellerden oluşmaktadır. Standartların tek bir merkezden geliştirilmesi ve belirlenmesi tabi bu aşamada çok önemli, aksi halde istenmeyen durumlar ile karşılaşılabilirdi. İşte XPATH’de bu grup tarafından XML belgeleri oluşturabilmek için geliştirilmiş bir standarttır.

Şimdi PATH kullanımına basit bir örnek verelim. Bunun için Nortwind veri tabanında Product tablosu üzerinde SELECT deyimini kullanarak XML veri oluşturmaya çalışacağız.

SELECT ProductName,
UnitPrice,
UnitsInStock,
QuantityPerUnit
FROM Products
FOR XML PATH

Sorgumuzu çalıştırdığımızda, Results kısmında XML oluşacaktır. XML’i text editöre kopyaladığımızda ise  aşağıdaki bir sonuç elde edeceğiz.

<row>
<ProductName>Chai</ProductName>
<UnitPrice>18.0000</UnitPrice>
<UnitsInStock>39</UnitsInStock>
<QuantityPerUnit>10 boxes x 20 bags</QuantityPerUnit>
</row>

Herhangi bir değişiklik olmadan XML PATH ile basit bir şekilde XML dokümanını elde ettik. Burada dikkat edileceği üzere element odaklı bir XML dokümanı mevcut. Her bir satır için bir element üretildi. Tabi daha karmaşık XML dokümanları da elde edebilirsiniz. Bunun içinde aşağıdaki örneği inceleyelim. Burada da attribute odaklı bir XML dokümanı oluşturacağız.


SELECT E.FirstName "@Adı",
E.LastName "@Soyadı",
E.City "Şehir"
FROM Employees E
FOR XML PATH

XML Çıktımızda Çalışan Adı ve Soyadı row olarak gözükmektedir. Biz bu isimlendirmeyi Personel olarak değiştirmek istersek. Aşağıdaki gibi Select ifadesi yazabiliriz.

SELECT E.FirstName "@Adı",
E.LastName "@Soyadı",
E.City "Şehir"
FROM Employees E
FOR XML PATH ('Personel')

Bu Makalemizde XML PATH konusunda değindik. Yeni makalelerimizde görüşmek dileğiyle.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir