Aracılığıyla paylaş


XmlDocument.InnerXml Özellik

Tanım

Geçerli düğümün alt öğelerini temsil eden işaretlemeyi alır veya ayarlar.

public:
 virtual property System::String ^ InnerXml { System::String ^ get(); void set(System::String ^ value); };
public override string InnerXml { get; set; }
member this.InnerXml : string with get, set
Public Overrides Property InnerXml As String

Özellik Değeri

String

Geçerli düğümün alt öğelerinin işaretlemesi.

Özel durumlar

Bu özellik ayarlanırken belirtilen XML düzgün biçimlendirilmemiş.

Açıklamalar

Bu özelliğin ayarlanması, düğümün alt öğelerini verilen dizenin ayrıştırılmış içeriğiyle değiştirir. Ayrıştırma geçerli ad alanı bağlamında yapılır.

InnerXml yedekli ad alanı bildirimlerini kaldırır. Sonuç olarak, çok sayıda kesme ve yapıştırma işlemi, gereksiz ad alanı bildirimleriyle belgenizin boyutunu artırmaz. Aşağıdaki XSL belgesini göz önünde bulundurun:

<xsl:stylesheet version="1.0"   
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
     <xsl:template match="stock">  
         ...  
     </xsl:template>  
    </xsl:stylesheet>  

InnerXml Stil sayfası düğümündeki özelliği aşağıdaki dizeyi döndürür:

<xsl:template match="stock"   
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">  
     ...  
    </xsl:template>  

Düğüm kimliğini korumak için kullanılan ek xmlns:xsl ad alanı bildirimine dikkat edin. Bu iç XML dizesini yeniden eklerseniz, özgün belgenizi geri alırsınız. Başka bir deyişle, InnerXml üst xsl:stylesheet öğesinin zaten xmlns:xsl ad alanı bildirimine sahip olduğu ve dolayısıyla bunu kaldırdığı düşünüldüğünde xmlns:xsl ad alanı bildiriminin yedekli olduğunu tanır.

Varsayılan ad alanı olmayan bir belgeden varsayılan ad alanına sahip bir belgeye geçerseniz InnerXml , davranış biraz farklıdır. Aşağıdaki XML dizesini göz önünde bulundurun:

<test>  
      <item>123</item>  
    </test>  

InnerXml ad alanı bildirimi olmayan bir düz XML dizesi döndürür:

<item>123</item>  

Ardından bu dizeyi aşağıdaki gibi varsayılan ad alanına sahip bir belgeye eklerseniz:

<test2 xmlns="urn:1">  
    </test>  

InnerXml dizesini bağlamda ayrıştırıyor ve yeni düğümler urn:1 ad alanını seçiyor. Sonuç şuna benzer:

<test2 xmlns="urn:1">  
      <item>123</item>  
    </test>  

Şimdi istediğinizi sorduğunuzda InnerXml aşağıdakileri geri alırsınız:

<item xmlns="urn:1">123</item>  

Eklenen öğenin ad alanı olmayan bir belgeden geldiği gerçeğini korumasını açıkça istiyorsanız xmlns= "" bildirimini el ile eklemeniz ve sonuçta elde edilen dizeyi eklemeniz gerekir:

<item xmlns="">123</item>  

Tüm bunların net etkisi aşağıdaki gibidir:

  1. Ad alanlarını kullanmayan belgeler arasında kesme ve yapıştırma InnerXml işlemi temiz ve basittir ve dizelerinizde "xmlns" yedekliliği oluşturmaz.

  2. InnerXml birden fazla ad alanına (XSL stil sayfaları) sahip belgeler arasında kesme ve yapıştırma yapmak için de kullanılabilir.

  3. xmlns:xsl bildirimleri dizelerinizde otomatik olarak görünür ve düğüm hiyerarşilerinizde kaybolur.

  4. Varsayılan ad alanı olmayan bir belgeden varsayılan ad alanına sahip bir belgeye geçtiğinizde InnerXml , yeni düğümler yeni varsayılan ad alanını alır.

Şu anda belgede tanımlanmamış varlık başvurularını içeren metinle ayarlanırsa InnerXml , sonuçta elde edilen ağaç boş EntityReference düğümleri içerir.

Bu özellik, Belge Nesne Modeli'nin (DOM) Bir Microsoft uzantısıdır.

Şunlara uygulanır