Aracılığıyla paylaş


XmlAnyElementAttribute Sınıf

Tanım

Üyenin (XmlElement veya XmlNode nesne dizisi döndüren bir alan), seri hale getirilen veya seri durumdan çıkarılan nesnede karşılık gelen üyesi olmayan herhangi bir XML öğesini temsil eden nesneler içerdiğini belirtir.

public ref class XmlAnyElementAttribute : Attribute
[System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Parameter | System.AttributeTargets.Property | System.AttributeTargets.ReturnValue, AllowMultiple=true)]
public class XmlAnyElementAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Parameter | System.AttributeTargets.Property | System.AttributeTargets.ReturnValue, AllowMultiple=true)>]
type XmlAnyElementAttribute = class
    inherit Attribute
Public Class XmlAnyElementAttribute
Inherits Attribute
Devralma
XmlAnyElementAttribute
Öznitelikler

Örnekler

Aşağıdaki örnek, XmlAnyElementAttribute nesnesini bir nesne dizisi XmlElement döndüren adlı AllElements alana uygular.

public class XClass
{
   /* Apply the XmlAnyElementAttribute to a field returning an array
   of XmlElement objects. */
   [XmlAnyElement]
   public XmlElement[] AllElements;
}

public class Test
{
   public static void Main()
   {
      Test t = new Test();
      t.DeserializeObject("XFile.xml");
   }

   private void DeserializeObject(string filename)
   {
      // Create an XmlSerializer.
      XmlSerializer mySerializer = new XmlSerializer(typeof(XClass));

      // To read a file, a FileStream is needed.
      FileStream fs = new FileStream(filename, FileMode.Open);

      // Deserialize the class.
      XClass x = (XClass) mySerializer.Deserialize(fs);

      // Read the element names and values.
      foreach(XmlElement xel in x.AllElements)
         Console.WriteLine(xel.LocalName + ": " + xel.Value);
   }
}
Public Class XClass
    ' Apply the XmlAnyElementAttribute to a field returning an array
    ' of XmlElement objects.
    <XmlAnyElement()> Public AllElements() As XmlElement
End Class


Public Class Test
    
    Public Shared Sub Main()
        Dim t As New Test()
        t.DeserializeObject("XFile.xml")
    End Sub
    
    
    Private Sub DeserializeObject(filename As String)
        ' Create an XmlSerializer.
        Dim mySerializer As New XmlSerializer(GetType(XClass))
        
        ' To read a file, a FileStream is needed.
        Dim fs As New FileStream(filename, FileMode.Open)
        
        ' Deserialize the class.
        Dim x As XClass = CType(mySerializer.Deserialize(fs), XClass)
        
        ' Read the element names and values.
        Dim xel As XmlElement
        For Each xel In  x.AllElements
            Console.WriteLine((xel.LocalName & ": " & xel.Value))
        Next xel
    End Sub
End Class

Açıklamalar

Tavsiye

Silverlight, Windows Phone veya Windows Mağazası Uygulaması projesi gibi taşınabilir bir sınıf kitaplığında çalışırken ve .NET Framework 4.0.3 ve üzerini kullanırken ve yerine XmlElementXmlNodeveya XNode kullanınXElement.

bir XML belgesinin XmlAnyElementAttribute parçası olarak gönderilebilen, örneğin belgenin bir parçası olarak gönderilen meta veriler gibi rastgele veriler (XML öğeleri olarak) içermek için öğesini kullanın.

veya XmlAnyElementAttribute nesnelerinin dizisini XmlElementXmlNode döndüren bir alana uygulayın. Böyle bir alan, bir nesnenin seri hale mi yoksa seri durumdan mı çıkarıldığına bağlı olarak iki şekilde kullanılabilir. Seri hale getirildiğinde, seri hale getirilen nesnede karşılık gelen üye (veya üye) olmasa bile nesne XML öğeleri veya düğümleri olarak oluşturulur. Özniteliği uygularken bir Name özellik değeri belirtirseniz, diziye eklenen tüm XmlElement veya XmlNode nesneler aynı öğe adına ve varsayılan ad alanına sahip olmalıdır veya bir özel durum oluşturulur. Özellik değerini ayarlarsanızNamespace, özelliği de ayarlamanız Name ve veya XmlNode nesnelerinin XmlElement de aynı ad ve ad alanı değerlerine sahip olması gerekir. Değer Name belirtilmezse, XmlElement veya XmlNode nesneleri herhangi bir öğe adına sahip olabilir.

sınıfının yöntemini XmlSerializer çağırdığınızdaDeserialize, seri durumdan çıkarılmakta olan nesnede karşılık gelen üyesi olmayan tüm öğeler dizide toplanır. Seri durumdan çıkarma işleminden sonra, verileri işlemek için öğe koleksiyonunda XmlElement yineleme yapın. Bir Name değer belirtirseniz, dizi yalnızca bu ada sahip XML öğelerini içerir. Bir Name değer belirtmezseniz, dizi sınıfında karşılık gelen üyesi olmayan tüm öğeleri içerir. Bir sınıf, özniteliğinin uygulandığı birden fazla alan içeriyorsa, dizilerin içeriği arasında ayrım yapmak için veya Name ve Namespace özelliklerini kullanınName. Bu tür bir sınıf (birden çok alan içeren) seri durumdan çıkarma sırasında ayarlanmış ayırt edici özellik değerleri (başka bir deyişle Name ve Namespace) içermeyen bir alan da içeriyorsa, bu dizi diğer dizilerde henüz bulunmayan bilinmeyen XML öğelerini içerir. Bir sınıf, ayırt edici Nameveya NameNamespace değer kümesi olmayan birden fazla alan içeriyorsa, seri durumdan çıkarma sırasındaki davranış belirtilmez.

öğesini tek XmlElement bir nesne döndüren bir alana da uygulayabilirsinizXmlAnyElementAttribute. Bunu yaparsanız, bilinmeyen öğeleri yinelemek için sınıfının özelliklerini ve yöntemlerini XmlElement kullanmanız gerekir.

öğesinin XmlAnyElementAttribute birden çok örneğini bir sınıf üyesine uygulayabilirsiniz, ancak her örneğin ayrı Name bir özellik değerine sahip olması gerekir. Veya her örnek için aynı Name özellik ayarlanırsa, her örnek için ayrı Namespace bir özellik değeri ayarlanmalıdır.

ve UnknownNodeUnknownAttribute olayları XmlSerializer , öğesini bir sınıfın üyesine uygularsanız XmlAnyElementAttribute gerçekleşmez.

Uyarı

uzun yerine XmlAnyElementAttributekodunuzda sözcüğünü XmlAnyElement kullanabilirsiniz.

Öznitelikleri kullanma hakkında daha fazla bilgi için bkz . Öznitelikler.

Oluşturucular

Name Description
XmlAnyElementAttribute()

XmlAnyElementAttribute sınıfının yeni bir örneğini başlatır.

XmlAnyElementAttribute(String, String)

Sınıfının yeni bir örneğini XmlAnyElementAttribute başlatır ve XML belgesinde ve XML ad alanında oluşturulan XML öğesi adını belirtir.

XmlAnyElementAttribute(String)

Sınıfının yeni bir örneğini XmlAnyElementAttribute başlatır ve XML belgesinde oluşturulan XML öğesi adını belirtir.

Özellikler

Name Description
Name

XML öğesi adını alır veya ayarlar.

Namespace

XML belgesinde oluşturulan XML ad alanını alır veya ayarlar.

Order

Öğelerin seri hale getirildiği veya seri durumdan çıkarıldığı açık sırayı alır veya ayarlar.

TypeId

Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır.

(Devralındığı yer: Attribute)

Yöntemler

Name Description
Equals(Object)

Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür.

(Devralındığı yer: Attribute)
GetHashCode()

Bu örneğin karma kodunu döndürür.

(Devralındığı yer: Attribute)
GetType()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
IsDefaultAttribute()

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir.

(Devralındığı yer: Attribute)
Match(Object)

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür.

(Devralındığı yer: Attribute)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden bir dize döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

Name Description
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).

(Devralındığı yer: Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından kullanıma sunulan özelliklere ve yöntemlere erişim sağlar.

(Devralındığı yer: Attribute)

Şunlara uygulanır

Ayrıca bkz.