Aracılığıyla paylaş


XmlAnyElementAttribute Sınıf

Tanım

Üyenin (veya nesnelerinin dizisini XmlElement döndüren bir alan) seri hale getirilen veya XmlNode 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 öğesini bir nesne dizisi XmlElement döndüren adlı AllElements alana uygular.

public ref class XClass
{
public:

   /* Apply the XmlAnyElementAttribute to a field returning an array
      of XmlElement objects. */

   [XmlAnyElement]
   array<XmlElement^>^AllElements;
};

public ref class Test
{
public:
   void DeserializeObject( String^ filename )
   {
      // Create an XmlSerializer.
      XmlSerializer^ mySerializer = gcnew XmlSerializer( XClass::typeid );

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

      // Deserialize the class.
      XClass^ x = dynamic_cast<XClass^>(mySerializer->Deserialize( fs ));

      // Read the element names and values.
      System::Collections::IEnumerator^ myEnum = x->AllElements->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         XmlElement^ xel = safe_cast<XmlElement^>(myEnum->Current);
         Console::WriteLine( "{0}: {1}", xel->LocalName, xel->Value );
      }
   }
};

int main()
{
   Test^ t = gcnew Test;
   t->DeserializeObject( "XFile.xml" );
}
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

İpucu

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ıyorsanız 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 verileri (XML öğeleri olarak) içermek için kullanın.

veya XmlAnyElementAttribute nesnelerinin dizisini XmlElementXmlNode döndüren bir alana uygulayın. Böyle bir alan, bir nesnenin seri hale getirilip getirilmediğine veya seri durumdan çıkarıldığına bağlı olarak iki şekilde kullanılabilir. Seri hale getirildiğinde, seri hale getirilmekte olan nesnede karşılık gelen üye (veya üye) olmamasına rağmen nesne XML öğeleri veya düğümleri olarak oluşturulur. özniteliğini uygularken bir Name özellik değeri belirtirseniz, diziye eklenen tüm XmlElement veya XmlNode nesnelerin aynı öğe adına ve varsayılan ad alanına sahip olması gerekir, aksi takdirde 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, veya XmlNode nesnelerinin XmlElement herhangi bir öğe adı 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 çıkarıldıktan sonra, verileri işlemek için öğe koleksiyonunda XmlElement yineleyin. 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ğini ayırt etmek için , veya Name ve Namespace özelliklerini kullanınName. Böyle 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) olmayan bir alan içeriyorsa, bu dizi diğer dizilerde henüz bulunmayan bilinmeyen XML öğelerini içerir. Bir sınıf, ayırt edici Nameveya Name ve Namespace 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. Ya da her örnek için aynı Name özellik ayarlandıysa, her örnek için ayrı Namespace bir özellik değeri ayarlanmalıdır.

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

Not

uzun yerine kodunuzda sözcüğünü XmlAnyElementXmlAnyElementAttributekullanabilirsiniz.

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

Oluşturucular

XmlAnyElementAttribute()

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

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.

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.

Özellikler

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

Equals(Object)

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

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

Bu örneğe ilişkin karma kodu döndürür.

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

Type Geçerli örneğini 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 Objectöğesinin sığ bir kopyasını oluşturur.

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

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

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

_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 sunulan özelliklere ve yöntemlere erişim sağlar.

(Devralındığı yer: Attribute)

Şunlara uygulanır

Ayrıca bkz.