Aracılığıyla paylaş


XML'de Katıştırılmış İfadeler (Visual Basic)

Katıştırılmış ifadeler, çalışma zamanında değerlendirilen ifadeler içeren XML değişmez değerleri oluşturmanıza olanak tanır. Katıştırılmış ifadenin söz dizimi, <%= expression %>ASP.NET kullanılan söz dizimi ile aynıdır.

Örneğin, eklenmiş ifadeleri değişmez metin içeriğiyle birleştiren bir XML öğesi değişmez değeri oluşturabilirsiniz.

Dim isbnNumber As String = "12345"
Dim modifiedDate As String = "3/5/2006"
Dim book As XElement = 
    <book category="fiction" isbn=<%= isbnNumber %>>
        <modifiedDate><%= modifiedDate %></modifiedDate>
    </book>

isbnNumber 12345 tamsayısını ve modifiedDate 5/3/3/2006 tarihini içeriyorsa, bu kod yürütürken değeri book şu şekildedir:

<book category="fiction" isbn="12345">  
  <modifiedDate>3/5/2006</modifiedDate>  
</book>  

Katıştırılmış İfade Konumu ve Doğrulama

Katıştırılmış ifadeler yalnızca XML değişmez değer ifadeleri içindeki belirli konumlarda görünebilir. İfade konumu, ifadenin döndürebileceği türleri ve nasıl Nothing işleneceğini denetler. Aşağıdaki tabloda, izin verilen konumlar ve ekli ifade türleri açıklanmaktadır.

Değişmez değerde konum İfade türü İşleme Nothing
XML öğesi adı XName Hata
XML öğesi içeriği Object veya dizisi Object Yoksayıldı
XML öğesi öznitelik adı XName Hata, öznitelik değeri de Nothing
XML öğesi öznitelik değeri Object Öznitelik bildirimi yoksayıldı
XML öğesi özniteliği XAttribute veya bir koleksiyon XAttribute Yoksayıldı
XML belgesi kök öğesi XElement veya bir XElement nesne koleksiyonu ve rastgele sayıda XProcessingInstruction ve XComment nesnesi Yoksayıldı
  • XML öğesi adında eklenmiş ifade örneği:

    Dim elementName As String = "contact"
    Dim contact1 As XElement = <<%= elementName %>/>
    
  • XML öğesinin içeriğindeki eklenmiş ifade örneği:

    Dim contactName As String = "Patrick Hines"
    Dim contact2 As XElement = 
      <contact><%= contactName %></contact>
    
  • XML öğesi öznitelik adına eklenmiş ifade örneği:

    Dim phoneType As String = "home"
    Dim contact3 As XElement = 
      <contact <%= phoneType %>="206-555-0144"/>
    
  • XML öğesi öznitelik değerindeki katıştırılmış ifade örneği:

    Dim phoneNumber As String = "206-555-0144"
    Dim contact4 As XElement = 
      <contact home=<%= phoneNumber %>/>
    
  • XML öğesi özniteliğindeki katıştırılmış ifade örneği:

    Dim phoneAttribute As XAttribute = 
      New XAttribute(XName.Get(phoneType), phoneNumber)
    Dim contact5 As XElement = 
      <contact <%= phoneAttribute %>/>
    
  • XML belgesi kök öğesindeki katıştırılmış ifade örneği:

    Dim document As XDocument = 
      <?xml version="1.0"?><%= contact1 %>
    

'yi etkinleştirirseniz Option Strict, derleyici her eklenmiş ifade türünün gerekli türe genişlediğini denetler. Tek özel durum, kod çalıştırıldığında doğrulanan xml belgesinin kök öğesi içindir. olmadan Option Strictderlerseniz, türündeki Object ifadeleri ekleyebilirsiniz ve türleri çalışma zamanında doğrulanır.

İçeriğin isteğe bağlı olduğu konumlarda, içeren Nothing eklenmiş ifadeler yoksayılır. Bu, XML değişmez değerini kullanmadan önce öğe içeriğinin, öznitelik değerlerinin ve dizi öğelerinin olmadığını denetlemeniz gerekmediği Nothing anlamına gelir. Öğe ve öznitelik adları gibi gerekli değerler olamaz Nothing.

Belirli bir değişmez değer türünde katıştırılmış ifade kullanma hakkında daha fazla bilgi için bkz . XML Belgesi Değişmez Değeri, XML Öğesi Değişmez Değeri.

Kapsam Belirleme Kuralları

Derleyici her XML değişmez değerini uygun değişmez değer türü için bir oluşturucu çağrısına dönüştürür. Bir XML değişmez değeri içindeki değişmez değer içeriği ve eklenmiş ifadeler, oluşturucuya bağımsız değişken olarak geçirilir. Bu, bir XML değişmez değeri için kullanılabilen tüm Visual Basic programlama öğelerinin ekli ifadelerinde de kullanılabildiğini gösterir.

XML değişmez değeri içinde, deyimiyle Imports bildirilen XML ad alanı ön eklerine erişebilirsiniz. özniteliğini kullanarak bir öğede yeni bir XML ad alanı ön eki bildirebilir veya var olan bir XML ad alanı ön ekini gölgeleyebilirsiniz xmlns . Yeni ad alanı, bu öğenin alt düğümleri tarafından kullanılabilir, ancak katıştırılmış ifadelerdeki XML değişmez değerleri için kullanılamaz.

Not

Ad alanı özniteliğini kullanarak xmlns bir XML ad alanı ön eki bildirdiğinizde, öznitelik değeri sabit bir dize olmalıdır. Bu bağlamda özniteliğini xmlns kullanmak, xml ad alanını bildirmek için deyimini Imports kullanmak gibidir. XML ad alanı değerini belirtmek için katıştırılmış ifade kullanamazsınız.

Ayrıca bkz.