Aracılığıyla paylaş


XML Değişmez Değerlerine Genel Bakış (Visual Basic)

XML değişmez değeri, XML'i doğrudan Visual Basic kodunuzla birleştirmenizi sağlar. XML değişmez değeri söz dizimi LINQ to XML nesnelerini temsil eder ve XML 1.0 söz dizimine benzer. Bu, kodunuz son XML ile aynı yapıya sahip olduğundan XML öğelerinin ve belgelerinin program aracılığıyla oluşturulmasını kolaylaştırır.

Visual Basic, XML değişmez değerlerini LINQ to XML nesnelerine derler. LINQ to XML, XML oluşturmak ve işlemek için basit bir nesne modeli sağlar ve bu model DilLe Tümleşik Sorgu (LINQ) ile iyi tümleştirilir. Daha fazla bilgi için bkz. XElement.

Visual Basic ifadesini XML değişmez değerine ekleyebilirsiniz. Çalışma zamanında uygulamanız, eklenmiş ifadelerin değerlerini birleştiren her değişmez değer için bir LINQ to XML nesnesi oluşturur. Bu, bir XML değişmez değeri içinde dinamik içerik belirtmenize olanak tanır. Daha fazla bilgi için bkz . XML'de Katıştırılmış İfadeler.

XML değişmez değeri söz dizimi ile XML 1.0 söz dizimi arasındaki farklar hakkında daha fazla bilgi için bkz . XML Değişmez Değerleri ve XML 1.0 Belirtimi.

Basit Değişmez Değerler

Visual Basic kodunuzda geçerli XML yazarak veya yapıştırarak LINQ to XML nesnesi oluşturabilirsiniz. XML öğesi değişmez değeri bir XElement nesne döndürür. Daha fazla bilgi için bkz . XML Öğesi Değişmez Değerleri ve XML Değişmez Değerleri ve XML 1.0 Belirtimi. Aşağıdaki örnek, birkaç alt öğe içeren 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>

Aşağıdaki örnekte gösterildiği gibi ile <?xml version="1.0"?>bir XML değişmez değeri başlatarak XML belgesi oluşturabilirsiniz. XML belgesi değişmez değeri bir XDocument nesne döndürür. Daha fazla bilgi için bkz . XML Belgesi Değişmez Değeri.

Dim contactDoc As XDocument = 
    <?xml version="1.0"?>
    <contact>
      <name>Patrick Hines</name>
      <phone type="home">206-555-0144</phone>
      <phone type="work">425-555-0145</phone>
    </contact>

Not

Visual Basic'teki XML değişmez değer söz dizimi, XML 1.0 belirtimindeki söz dizimiyle aynı değildir. Daha fazla bilgi için bkz . XML Değişmez Değerleri ve XML 1.0 Belirtimi.

Satır Devamı

XML değişmez değeri, satır devamlılığı karakterleri kullanmadan birden çok satıra yayılabilir (boşluk-alt çizgi-enter dizisi). Bu, koddaki XML değişmez değerlerini XML belgeleriyle karşılaştırmayı kolaylaştırır.

Derleyici, satır devamlılığı karakterlerini XML değişmez değeri kapsamında ele alır. Bu nedenle, space-underscore-enter dizisini yalnızca LINQ to XML nesnesine ait olduğunda kullanmanız gerekir.

Ancak, katıştırılmış ifadede çok satırlı bir ifadeniz varsa satır devamlılığı karakterlerine ihtiyacınız vardır. Daha fazla bilgi için bkz . XML'de Katıştırılmış İfadeler.

SORGULARı XML Değişmez Değerlerine Ekleme

Eklenmiş ifadede sorgu kullanabilirsiniz. Bunu yaptığınızda, sorgu tarafından döndürülen öğeler XML öğesine eklenir. Bu, kullanıcının sorgusunun sonucu gibi dinamik içeriği XML değişmez değerine eklemenize olanak tanır.

Örneğin, aşağıdaki kod, dizinin üyelerinden phoneNumbers2 XML öğeleri oluşturmak ve ardından bu öğeleri alt contact2öğeleri olarak eklemek için eklenmiş bir sorgu kullanır.

Public Class XmlSamples

  Public Sub Main()
    ' Initialize the objects. 

    Dim phoneNumbers2 As Phone() = { 
        New Phone("home", "206-555-0144"), 
        New Phone("work", "425-555-0145")}

    ' Convert the data contained in phoneNumbers2 to XML. 

    Dim contact2 = 
        <contact>
          <name>Patrick Hines</name>
          <%= From p In phoneNumbers2 
            Select <phone type=<%= p.Type %>><%= p.Number %></phone> 
          %>
        </contact>

    Console.WriteLine(contact2)
  End Sub

End Class

Class Phone
  Public Type As String
  Public Number As String
  Public Sub New(ByVal t As String, ByVal n As String)
    Type = t
    Number = n
  End Sub
End Class

Derleyici XML Değişmez Değerlerinden Nesneleri Nasıl Oluşturur?

Visual Basic derleyicisi, XML değişmez değerlerini EŞDEĞER LINQ to XML oluşturucularına çağrılara çevirerek LINQ to XML nesnesini oluşturur. Örneğin, Visual Basic derleyicisi aşağıdaki kod örneğini XML sürümü yönergesi için oluşturucuya bir çağrıyaXProcessingInstruction, , <name>ve <phone> öğelerinin <contact>oluşturucusuna ve XElement özniteliği için type oluşturucuya XAttribute çağrılara çevirir. Özellikle, aşağıdaki örnekteki öznitelikler göz önüne alındığında, Visual Basic derleyicisi oluşturucuyu XAttribute(XName, Object) iki kez çağırır. birincisi parametresinin değerini typename ve parametresinin value değerini home geçirir. İkinci de parametresinin name değerinitype, ancak parametresinin value değerini work geçirir.

Dim contactDoc As XDocument = 
    <?xml version="1.0"?>
    <contact>
      <name>Patrick Hines</name>
      <phone type="home">206-555-0144</phone>
      <phone type="work">425-555-0145</phone>
    </contact>

Ayrıca bkz.