LINQ to XML eksenlerine genel bakış
XML ağacı oluşturduktan veya xml ağacına xml belgesi yükledikten sonra, öğeleri ve öznitelikleri bulmak ve değerlerini almak için sorgulayabilirsiniz. Eksenler olarak da adlandırılan eksen yöntemleri aracılığıyla koleksiyonları alırsınız. Eksenlerden bazıları ve XDocument sınıflarında XElement koleksiyon döndüren IEnumerable<T> yöntemlerdir. Eksenlerden bazıları sınıfındaki Extensions uzantı yöntemleridir. Uzantı yöntemleri olarak uygulanan eksenler koleksiyonlar üzerinde çalışır ve koleksiyonları döndürür.
XElement sınıfına genel bakış bölümünde açıklandığı gibi, bir XElement nesne tek bir öğe düğümünü temsil eder. Bir öğenin içeriği karmaşık (bazen yapılandırılmış içerik olarak adlandırılır) veya basit bir öğe olabilir. Basit bir öğe boş olabilir veya bir değer içerebilir. Düğüm yapılandırılmış içerik içeriyorsa, alt öğelerin numaralandırmalarını almak için çeşitli eksen yöntemlerini kullanabilirsiniz. En yaygın kullanılan eksen yöntemleri ve Descendants'tirElements.
Koleksiyon döndüren eksen yöntemlerine ek olarak, LINQ to XML sorgularında yaygın olarak kullanacağınız iki yöntem daha vardır. Element yöntemi tek XElementbir döndürür. Attribute yöntemi tek XAttributebir döndürür.
LINQ sorguları birçok amaçla bir ağacı incelemek, ondan veri ayıklamak ve dönüştürmek için en güçlü yolu sağlar. LINQ sorguları , ve LINQ to XML eksenleri koleksiyonların ve XAttributeIEnumerable<T> koleksiyonların XElement dönüşünü IEnumerable<T> uygulayan IEnumerable<T>nesneler üzerinde çalışır. Sorgularınızı yapmak için bu koleksiyonlara ihtiyacınız vardır.
Öğe ve öznitelik koleksiyonlarını alan eksen yöntemlerine ek olarak, ağaçta çok ayrıntılı yineleme yapmanızı sağlayan eksen yöntemleri de vardır. Örneğin, öğeler ve özniteliklerle ilgilenmek yerine, ağacın düğümleriyle çalışabilirsiniz. Düğümler, öğelere ve özniteliklere göre daha ayrıntılı bir ayrıntı düzeyidir. Düğümlerle çalışırken XML açıklamalarını, metin düğümlerini, işleme yönergelerini ve daha fazlasını inceleyebilirsiniz. Bu işlev, örneğin sözcük işlemcisi yazan ve belgeleri XML olarak kaydetmek isteyen biri için önemlidir. Bununla birlikte, XML programcılarının çoğu öncelikle öğeler, öznitelikler ve değerleriyle ilgilenir.
Öğe koleksiyonunu alma yöntemleri
Aşağıda, bir öğe koleksiyonu döndürmek için üzerinde çağırdığınız XElement sınıfın (veya temel sınıflarının) yöntemlerinin XElement özeti yer alır.
Metot | Açıklama |
---|---|
XNode.Ancestors | Bu öğenin atalarından XElement birini IEnumerable<T> döndürür. Aşırı yükleme, belirtilen XNamedeğerine sahip olan üst öğelerden birini IEnumerable<T>XElement döndürür. |
XContainer.Descendants | Bu öğenin alt öğelerinden birini IEnumerable<T>XElement döndürür. Aşırı yükleme, belirtilen XNamedeğerine sahip alt öğelerden birini IEnumerable<T>XElement döndürür. |
XContainer.Elements | Bu öğenin alt öğelerinden birini IEnumerable<T>XElement döndürür. Aşırı yükleme, belirtilen XNameöğesine sahip alt öğelerden birini IEnumerable<T>XElement döndürür. |
XNode.ElementsAfterSelf | Bu öğeden XElement sonra gelen öğelerden birini IEnumerable<T> döndürür. Aşırı yükleme, bu öğeden XElement sonra belirtilen XNameöğesine sahip olan öğelerden birini IEnumerable<T> döndürür. |
XNode.ElementsBeforeSelf | Bu öğeden XElement önce gelen öğelerden birini IEnumerable<T> döndürür. Aşırı yükleme, bu öğeden XElement önce belirtilen XNameöğesine sahip olan öğelerden birini IEnumerable<T> döndürür. |
XElement.AncestorsAndSelf | Bu öğeden ve onun atalarından XElement birini IEnumerable<T> döndürür. Aşırı yükleme, belirtilen XNameöğesine sahip öğelerden XElement birini IEnumerable<T> döndürür. |
XElement.DescendantsAndSelf | Bu öğeden XElement ve alt öğelerinden birini IEnumerable<T> döndürür. Aşırı yükleme, belirtilen XNameöğesine sahip öğelerden XElement birini IEnumerable<T> döndürür. |
Tek bir öğeyi alma yöntemi
Aşağıdaki yöntem bir nesneden tek bir XElement alt öğe alır.
Metot | Açıklama |
---|---|
XContainer.Element | Belirtilen XNamedeğerine sahip ilk alt XElement nesneyi döndürür. |
Öznitelik koleksiyonunu alma yöntemi
Aşağıdaki yöntem bir XElement nesneden öznitelikleri alır.
Metot | Açıklama |
---|---|
XElement.Attributes | Tüm özniteliklerden XAttribute birini IEnumerable<T> döndürür. |
Tek bir özniteliği alma yöntemi
Aşağıdaki yöntem bir nesneden tek bir XElement öznitelik alır.
Metot | Açıklama |
---|---|
XElement.Attribute | XAttribute Belirtilen XNamedeğerine sahip olan öğesini döndürür. |