XmlDocument.InnerXml Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
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:
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.InnerXml
birden fazla ad alanına (XSL stil sayfaları) sahip belgeler arasında kesme ve yapıştırma yapmak için de kullanılabilir.xmlns:xsl bildirimleri dizelerinizde otomatik olarak görünür ve düğüm hiyerarşilerinizde kaybolur.
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.