Share via


Visual Basic'de LINQ - XML Dönüşümüne Genel Bakış

Visual Basic, XML değişmez değerleri ve XML ekseni özellikleri aracılığıyla LINQ to XML desteği sağlar. Bu, Visual Basic kodunuzda XML ile çalışmak için tanıdık, kullanışlı bir söz dizimi kullanmanızı sağlar. XML değişmez değerleri , XML'i doğrudan kodunuzla eklemenize olanak tanır. XML ekseni özellikleri bir XML değişmez değeri alt düğümlerine, alt düğümlerine ve özniteliklerine erişmenizi sağlar. Daha fazla bilgi için bkz. Visual Basic'te XML Değişmez Değerlerine Genel Bakış ve XML'ye Erişme.

LINQ to XML, DilLe Tümleşik Sorgudan (LINQ) yararlanmak için özel olarak tasarlanmış bir bellek içi XML programlama API'sidir. LINQ API'lerini doğrudan çağırabilirsiniz, ancak yalnızca Visual Basic XML değişmez değerlerini bildirmenizi ve XML ekseni özelliklerine doğrudan erişmenizi sağlar.

Not

XML değişmez değerleri ve XML ekseni özellikleri, ASP.NET bir sayfadaki bildirim temelli kodda desteklenmez. Visual Basic XML özelliklerini kullanmak için kodunuzu ASP.NET uygulamanızda arka planda kod içeren bir sayfaya yerleştirin.

Play button İlgili video tanıtımları için bkz . LINQ to XML kullanmaya nasıl başlarım? ve LINQ to XML kullanarak Excel Elektronik Tabloları Nasıl Oluşturulur?.

XML oluşturma

Visual Basic'te XML ağaçları oluşturmanın iki yolu vardır. Xml değişmez değerini doğrudan kodda bildirebilir veya ağacı oluşturmak için LINQ API'lerini kullanabilirsiniz. Her iki işlem de kodun XML ağacının son yapısını yansıtmasını sağlar. Örneğin, aşağıdaki kod örneği bir XML öğesi oluşturur:

Dim contact1 As XElement = 
    <contact>
      <name>Patrick Hines</name>
      <phone type="home">206-555-0144</phone>
      <phone type="work">425-555-0145</phone>
    </contact>

Daha fazla bilgi için bkz . Visual Basic'te XML oluşturma.

XML'ye Erişme ve Xml'de Gezinme

Visual Basic, XML yapılarına erişmek ve bu yapılarda gezinmek için XML ekseni özellikleri sağlar. Bu özellikler, XML alt öğesi adlarını belirterek XML öğelerine ve özniteliklerine erişmenizi sağlar. Alternatif olarak, öğeleri ve öznitelikleri gezinmek ve bulmak için LINQ yöntemlerini açıkça çağırabilirsiniz. Örneğin, aşağıdaki kod örneği xml öğesinin özniteliklerine ve alt öğelerine başvurmak için XML ekseni özelliklerini kullanır. Kod örneği, alt öğeleri almak ve bunları XML öğeleri olarak çıkarmak için bir LINQ sorgusu kullanır ve dönüştürmeyi etkili bir şekilde gerçekleştirir.

' Place Imports statements at the top of your program.
Imports <xmlns:ns="http://SomeNamespace">

Module Sample1

    Sub SampleTransform()

        ' Create test by using a global XML namespace prefix.

        Dim contact =
            <ns:contact>
                <ns:name>Patrick Hines</ns:name>
                <ns:phone ns:type="home">206-555-0144</ns:phone>
                <ns:phone ns:type="work">425-555-0145</ns:phone>
            </ns:contact>

        Dim phoneTypes =
          <phoneTypes>
              <%= From phone In contact.<ns:phone>
                  Select <type><%= phone.@ns:type %></type>
              %>
          </phoneTypes>

        Console.WriteLine(phoneTypes)
    End Sub

End Module

Daha fazla bilgi için bkz . Visual Basic'te XML'ye erişme.

XML Ad Alanları

Visual Basic, deyimini kullanarak genel XML ad alanı için bir diğer ad belirtmenizi Imports sağlar. Aşağıdaki örnekte, xml ad alanını içeri aktarmak için deyiminin Imports nasıl kullanılacağı gösterilmektedir:

Imports <xmlns:ns="http://someNamespace">

XML ekseni özelliklerine erişirken ve XML belgeleri ve öğeleri için XML değişmez değerleri bildirdiğinizde BIR XML ad alanı diğer adı kullanabilirsiniz.

GetXmlNamespace İşlecini kullanarak belirli bir ad alanı öneki için bir nesne alabilirsinizXNamespace.

Daha fazla bilgi için bkz . Imports Deyimi (XML Ad Alanı).

XML Değişmez Değerlerinde XML Ad Alanlarını Kullanma

Aşağıdaki örnekte genel ad alanını nskullanan bir XElement nesnenin nasıl oluşturulacağı gösterilmektedir:

Dim contact1 As XElement = 
    <ns:contact>
        <ns:name>Patrick Hines</ns:name>
        <ns:phone type="home">206-555-0144</ns:phone>
        <ns:phone type="work">425-555-0145</ns:phone>
    </ns:contact>

Console.WriteLine(contact1)

Visual Basic derleyicisi, XML ad alanı diğer adlarını içeren XML değişmez değerlerini, xml ad xmlns alanlarını kullanmak için XML gösterimini kullanan eşdeğer koda dönüştürür. Derlendiğinde, önceki bölümün örneğindeki kod temelde aşağıdaki örnekle aynı yürütülebilir kodu oluşturur:

Dim contact2 As XElement = 
    <ns1:contact xmlns:ns1="http://someNamespace">
        <ns1:name>Patrick Hines</ns1:name>
        <ns1:phone type="home">206-555-0144</ns1:phone>
        <ns1:phone type="work">425-555-0145</ns1:phone>
    </ns1:contact>

Console.WriteLine(contact2)

XML Ekseni Özelliklerinde XML Ad Alanlarını Kullanma

XML değişmez değerlerinde bildirilen XML ad alanları XML ekseni özelliklerinde kullanılamaz. Ancak, genel ad alanları XML ekseni özellikleriyle kullanılabilir. XML ad alanı ön ekini yerel öğe adından ayırmak için iki nokta üst üste kullanın. Aşağıda bir örnek verilmiştir:

Console.WriteLine("Contact name is: " & contact1.<ns:name>.Value)

Ayrıca bkz.