XmlAnyElementAttributes XmlAnyElementAttributes XmlAnyElementAttributes XmlAnyElementAttributes Class

Definizione

Rappresenta una raccolta di oggetti XmlAnyElementAttribute.Represents a collection of XmlAnyElementAttribute objects.

public ref class XmlAnyElementAttributes : System::Collections::CollectionBase
public class XmlAnyElementAttributes : System.Collections.CollectionBase
type XmlAnyElementAttributes = class
    inherit CollectionBase
Public Class XmlAnyElementAttributes
Inherits CollectionBase
Ereditarietà
XmlAnyElementAttributesXmlAnyElementAttributesXmlAnyElementAttributesXmlAnyElementAttributes

Esempi

Nell'esempio seguente viene creato un XmlAnyElementAttribute nuovo oggetto che viene aggiunto alla raccolta di oggetti a cui XmlAnyElements si accede tramite la proprietà.The following example creates a new XmlAnyElementAttribute and adds it to the collection of objects accessed through the XmlAnyElements property. Viene quindi aggiunto a un oggetto XmlAttributeOverrides che viene usato per creare un XmlSerializeroggetto. XmlAttributesThe XmlAttributes is then added to a XmlAttributeOverrides which is used to create an XmlSerializer. XmlSerializer Viene utilizzato per serializzare o deserializzare un oggetto.The XmlSerializer is used to serialize or deserialize an object. Per vedere l'effetto dell'utilizzo XmlAnyElementAttributes della proprietà, creare un documento XML denominato UnknownElements. xml eseguendo il SerializeObject metodo nel Main metodo.To see the effect of using the XmlAnyElementAttributes property, create an XML document named UnknownElements.xml by running the SerializeObject method in the Main method. Modificare il documento risultante per includere altri elementi (sconosciuti).Edit the resulting document to include other (unknown) elements. Impostare come commento SerializeObject la chiamata Main nel metodo e DeserializeObject rimuovere il commento dalla chiamata al metodo, che stampa il nome e il valore di un elemento XML sconosciuto.Comment out the SerializeObject call in the Main method, and uncomment the call to the DeserializeObject method, which prints out the name and value of any unknown XML element.

#using <System.dll>
#using <System.xml.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml::Serialization;
using namespace System::Xml;
public ref class Group
{
public:
   String^ GroupName;

   [XmlAnyElement]
   array<Object^>^Things;
};

void SerializeObject( String^ filename );
void DeserializeObject( String^ filename );
XmlSerializer^ CreateOverrideSerializer();
int main()
{
   // 1 Run this and create the XML document.
   // 2 Add new elements to the XML document.
   // 3 Comment out the next line, and uncomment
   // the DeserializeObject line to deserialize the
   // XML document and see unknown elements.
   SerializeObject( "UnknownElements.xml" );

   // DeserializeObject(S"UnknownElements.xml");
}

void SerializeObject( String^ filename )
{
   XmlSerializer^ ser = gcnew XmlSerializer( Group::typeid );
   TextWriter^ writer = gcnew StreamWriter( filename );
   Group^ g = gcnew Group;
   g->GroupName = "MyGroup";
   ser->Serialize( writer, g );
   writer->Close();
}

void DeserializeObject( String^ filename )
{
   XmlSerializer^ ser = CreateOverrideSerializer();

   // A FileStream is needed to read the XML document.
   FileStream^ fs = gcnew FileStream( filename,FileMode::Open );
   Group^ g = safe_cast<Group^>(ser->Deserialize( fs ));
   fs->Close();
   Console::WriteLine( g->GroupName );
   Console::WriteLine( g->Things->Length );
   for ( int i = 0; i < g->Things->Length; ++i )
   {
      XmlElement^ xelement = safe_cast<XmlElement^>(g->Things[ i ]);
      Console::WriteLine( "{0}: {1}", xelement->Name, xelement->InnerXml );
   }
}

XmlSerializer^ CreateOverrideSerializer()
{
   XmlAnyElementAttribute^ myAnyElement = gcnew XmlAnyElementAttribute;
   XmlAttributeOverrides^ xOverride = gcnew XmlAttributeOverrides;
   XmlAttributes^ xAtts = gcnew XmlAttributes;
   xAtts->XmlAnyElements->Add( myAnyElement );
   xOverride->Add( Group::typeid, "Things", xAtts );
   return gcnew XmlSerializer( Group::typeid,xOverride );
}
using System;
using System.IO;
using System.Xml.Serialization;
using System.Xml;

public class Group{
   public string GroupName;
   [XmlAnyElement]
   public object[]Things;

}

public class Test{
   static void Main(){
      Test t = new Test();
      // 1 Run this and create the XML document.
      // 2 Add new elements to the XML document.
      // 3 Comment out the new line, and uncomment
      // the DeserializeObject line to deserialize the
      // XML document and see unknown elements.
      t.SerializeObject("UnknownElements.xml");
     
      // t.DeserializeObject("UnknownElements.xml");
   }

   private void SerializeObject(string filename){
      XmlSerializer ser = new XmlSerializer(typeof (Group));
      TextWriter writer = new StreamWriter(filename);
      Group g = new Group();
      g.GroupName = "MyGroup";
      ser.Serialize(writer, g);
      writer.Close();
   }

   
   private void DeserializeObject(string filename){

      XmlSerializer ser = CreateOverrideSerializer();
      // A FileStream is needed to read the XML document.
      FileStream fs = new FileStream(filename, FileMode.Open);
     Group g = (Group)
     	ser.Deserialize(fs);
     fs.Close();
     Console.WriteLine(g.GroupName);
     Console.WriteLine(g.Things.Length);
     foreach(XmlElement xelement in g.Things){
     Console.WriteLine(xelement.Name + ": " + xelement.InnerXml);
     }
   }

   private XmlSerializer CreateOverrideSerializer(){
      XmlAnyElementAttribute myAnyElement = 
      new XmlAnyElementAttribute();
      XmlAttributeOverrides xOverride = 
      new XmlAttributeOverrides();
      XmlAttributes xAtts = new XmlAttributes();
      xAtts.XmlAnyElements.Add(myAnyElement);
      xOverride.Add(typeof(Group), "Things", xAtts);
      return new XmlSerializer(typeof(Group) , xOverride);
   }
}
Imports System
Imports System.IO
Imports System.Xml.Serialization
Imports System.Xml

Public Class Group
   Public GroupName As String 
   <XmlAnyElement> _
   Public Things () As object
End Class

Public Class Test
   Shared Sub Main()
      Dim t As Test = New Test()
      ' 1 Run this and create the XML document.
      ' 2 Add New elements to the XML document.
      ' 3 Comment out the New line, and uncomment
      ' the DeserializeObject line to deserialize the
      ' XML document and see unknown elements.
     t.SerializeObject("UnknownElements.xml")
     
      't.DeserializeObject("UnknownElements.xml")
   End Sub

   Private Sub SerializeObject(filename As String)
      Dim ser As XmlSerializer = New XmlSerializer(GetType (Group))
      Dim writer As TextWriter = New StreamWriter(filename)
      
      Dim g As Group = New Group()
      g.GroupName = "MyGroup"
      ser.Serialize(writer, g)
      writer.Close()
   End Sub

   
   Private Sub DeserializeObject(filename As String)

      Dim ser As XmlSerializer = CreateOverrideSerializer()
      ' A FileStream is needed to read the XML document.
      Dim fs As FileStream = New FileStream(filename, FileMode.Open)
     Dim g As Group = CType( _
     	ser.Deserialize(fs), Group)
     fs.Close()
     Console.WriteLine(g.GroupName)
     Console.WriteLine(g.Things.Length)
     Dim xelement As XmlELement
     for each xelement in g.Things
        Console.WriteLine(xelement.Name &": " & xelement.InnerXml)
     next
   End Sub
   

   Private Function CreateOverrideSerializer() As XmlSerializer 
      Dim myAnyElement As XmlAnyElementAttribute = _
      New XmlAnyElementAttribute()
      Dim xOverride As XmlAttributeOverrides = _
      New XmlAttributeOverrides()
      Dim xAtts As XmlAttributes = New XmlAttributes()
      xAtts.XmlAnyElements.Add(myAnyElement)
      xOverride.Add(GetType(Group), "Things", xAtts)
      return New XmlSerializer(GetType(Group) , xOverride)
   End Function
End Class

Commenti

Usare per eseguire l'override del comportamento di un set XmlAnyElementAttribute di oggetti. XmlAnyElementAttributesUse the XmlAnyElementAttributes to override the behavior of a set of XmlAnyElementAttribute objects. È possibile applicare più XmlAnyElementAttribute istanze della classe a un membro di classe, purché ogni istanza disponga di un valore di Name proprietà distinto XmlSerializer ; in questo modo viene indicato a di raccogliere elementi sconosciuti sotto l'elemento denominato nella matrice appropriata .Multiple instances of the XmlAnyElementAttribute class can be applied to a class member, as long as each instance has a distinct Name property value; this instructs the XmlSerializer to collect unknown elements under the named element into the appropriate array. È per questo motivo che è possibile aggiungere più istanze XmlAnyElementAttribute della classe XmlAnyElementAttributesa.It is for this reason that multiple instances of the XmlAnyElementAttribute class can be added to the XmlAnyElementAttributes.

Per eseguire l'override di XmlAnyElementAttribute un set di oggetti:To override a set of XmlAnyElementAttribute objects:

  1. Creare un XmlAnyElementAttributesoggetto.Create an XmlAnyElementAttributes.

  2. Creare il set di XmlAnyElementAttribute oggetti e aggiungere ogni oggetto alla raccolta usando il Add metodo.Create the set of XmlAnyElementAttribute objects, and add each object to the collection using the Add method.

  3. Creare un XmlAttributesoggetto.Create an XmlAttributes.

  4. Impostare la XmlAnyElements proprietà XmlAnyElementAttributessu.Set the XmlAnyElements property to the XmlAnyElementAttributes.

  5. Creare un XmlAttributeOverridesoggetto.Create an XmlAttributeOverrides.

  6. XmlAttributes Aggiungere aXmlAttributeOverrides utilizzando ilAdd metodo.Add the XmlAttributes to the XmlAttributeOverrides using the Add method.

  7. Creare un'istanza dell'oggetto XmlSerializer XmlAttributeOverridesutilizzando.Create an instance of the XmlSerializer using the XmlAttributeOverrides.

  8. Serializzare o deserializzare un oggetto che contiene il set XmlAnyElementAttribute di oggetti.Serialize or deserialize an object that contains the set of XmlAnyElementAttribute objects.

Costruttori

XmlAnyElementAttributes() XmlAnyElementAttributes() XmlAnyElementAttributes() XmlAnyElementAttributes()

Inizializza una nuova istanza della classe XmlAnyElementAttributes.Initializes a new instance of the XmlAnyElementAttributes class.

Proprietà

Capacity Capacity Capacity Capacity

Ottiene o imposta il numero di elementi che CollectionBase può contenere.Gets or sets the number of elements that the CollectionBase can contain.

(Inherited from CollectionBase)
Count Count Count Count
InnerList InnerList InnerList InnerList

Ottiene un ArrayList contenente l'elenco degli elementi presenti nell'istanza CollectionBase.Gets an ArrayList containing the list of elements in the CollectionBase instance.

(Inherited from CollectionBase)
Item[Int32] Item[Int32] Item[Int32] Item[Int32]

Ottiene o imposta l'oggetto XmlAnyElementAttribute in corrispondenza dell'indice specificato.Gets or sets the XmlAnyElementAttribute at the specified index.

List List List List

Ottiene un IList contenente l'elenco degli elementi presenti nell'istanza CollectionBase.Gets an IList containing the list of elements in the CollectionBase instance.

(Inherited from CollectionBase)

Metodi

Add(XmlAnyElementAttribute) Add(XmlAnyElementAttribute) Add(XmlAnyElementAttribute) Add(XmlAnyElementAttribute)

Consente di aggiungere una classe XmlAnyElementAttribute all'insieme.Adds an XmlAnyElementAttribute to the collection.

Clear() Clear() Clear() Clear()
Contains(XmlAnyElementAttribute) Contains(XmlAnyElementAttribute) Contains(XmlAnyElementAttribute) Contains(XmlAnyElementAttribute)

Ottiene un valore che indica se l'oggetto XmlAnyElementAttribute specificato è presente nell'insieme.Gets a value that indicates whether the specified XmlAnyElementAttribute exists in the collection.

CopyTo(XmlAnyElementAttribute[], Int32) CopyTo(XmlAnyElementAttribute[], Int32) CopyTo(XmlAnyElementAttribute[], Int32) CopyTo(XmlAnyElementAttribute[], Int32)

Copia l'intero insieme in una matrice unidimensionale compatibile di oggetti XmlElementAttribute, a partire dall'indice specificato della matrice di destinazione.Copies the entire collection to a compatible one-dimensional array of XmlElementAttribute objects, starting at the specified index of the target array.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Inherited from Object)
IndexOf(XmlAnyElementAttribute) IndexOf(XmlAnyElementAttribute) IndexOf(XmlAnyElementAttribute) IndexOf(XmlAnyElementAttribute)

Ottiene l'indice della classe XmlAnyElementAttribute specificata.Gets the index of the specified XmlAnyElementAttribute.

Insert(Int32, XmlAnyElementAttribute) Insert(Int32, XmlAnyElementAttribute) Insert(Int32, XmlAnyElementAttribute) Insert(Int32, XmlAnyElementAttribute)

Inserisce XmlAnyElementAttribute nell'insieme in corrispondenza dell'indice specificato.Inserts an XmlAnyElementAttribute into the collection at the specified index.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Inherited from Object)
OnClear() OnClear() OnClear() OnClear()

Consente di eseguire procedure personalizzate aggiuntive durante l'eliminazione del contenuto dell'istanza CollectionBase.Performs additional custom processes when clearing the contents of the CollectionBase instance.

(Inherited from CollectionBase)
OnClearComplete() OnClearComplete() OnClearComplete() OnClearComplete()

Consente di eseguire procedure personalizzate aggiuntive prima di cancellare il contenuto dell'istanza CollectionBase.Performs additional custom processes after clearing the contents of the CollectionBase instance.

(Inherited from CollectionBase)
OnInsert(Int32, Object) OnInsert(Int32, Object) OnInsert(Int32, Object) OnInsert(Int32, Object)

Consente di eseguire procedure personalizzate aggiuntive prima di inserire un nuovo elemento nell'istanza CollectionBase.Performs additional custom processes before inserting a new element into the CollectionBase instance.

(Inherited from CollectionBase)
OnInsertComplete(Int32, Object) OnInsertComplete(Int32, Object) OnInsertComplete(Int32, Object) OnInsertComplete(Int32, Object)

Consente di eseguire procedure personalizzate aggiuntive dopo aver inserito un nuovo elemento nell'istanza CollectionBase.Performs additional custom processes after inserting a new element into the CollectionBase instance.

(Inherited from CollectionBase)
OnRemove(Int32, Object) OnRemove(Int32, Object) OnRemove(Int32, Object) OnRemove(Int32, Object)

Consente di eseguire procedure personalizzate aggiuntive durante l'eliminazione di un elemento dall'istanza CollectionBase.Performs additional custom processes when removing an element from the CollectionBase instance.

(Inherited from CollectionBase)
OnRemoveComplete(Int32, Object) OnRemoveComplete(Int32, Object) OnRemoveComplete(Int32, Object) OnRemoveComplete(Int32, Object)

Consente di eseguire procedure personalizzate aggiuntive dopo della rimozione di un elemento dall'istanza CollectionBase.Performs additional custom processes after removing an element from the CollectionBase instance.

(Inherited from CollectionBase)
OnSet(Int32, Object, Object) OnSet(Int32, Object, Object) OnSet(Int32, Object, Object) OnSet(Int32, Object, Object)

Consente di eseguire procedure personalizzate aggiuntive prima di impostare un valore nell'istanza CollectionBase.Performs additional custom processes before setting a value in the CollectionBase instance.

(Inherited from CollectionBase)
OnSetComplete(Int32, Object, Object) OnSetComplete(Int32, Object, Object) OnSetComplete(Int32, Object, Object) OnSetComplete(Int32, Object, Object)

Consente di eseguire procedure personalizzate aggiuntive dopo aver impostato un valore nell'istanza CollectionBase.Performs additional custom processes after setting a value in the CollectionBase instance.

(Inherited from CollectionBase)
OnValidate(Object) OnValidate(Object) OnValidate(Object) OnValidate(Object)

Esegue processi personalizzati aggiuntivi durante la convalida di un valore.Performs additional custom processes when validating a value.

(Inherited from CollectionBase)
Remove(XmlAnyElementAttribute) Remove(XmlAnyElementAttribute) Remove(XmlAnyElementAttribute) Remove(XmlAnyElementAttribute)

Rimuove l'oggetto XmlAnyElementAttribute specificato dalla raccolta.Removes the specified XmlAnyElementAttribute from the collection.

RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32)
ToString() ToString() ToString() ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Implementazioni dell'interfaccia esplicita

ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32) ICollection.CopyTo(Array, Int32)
ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized ICollection.IsSynchronized
ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot ICollection.SyncRoot
IList.Add(Object) IList.Add(Object) IList.Add(Object) IList.Add(Object)
IList.Contains(Object) IList.Contains(Object) IList.Contains(Object) IList.Contains(Object)
IList.IndexOf(Object) IList.IndexOf(Object) IList.IndexOf(Object) IList.IndexOf(Object)
IList.Insert(Int32, Object) IList.Insert(Int32, Object) IList.Insert(Int32, Object) IList.Insert(Int32, Object)
IList.IsFixedSize IList.IsFixedSize IList.IsFixedSize IList.IsFixedSize
IList.IsReadOnly IList.IsReadOnly IList.IsReadOnly IList.IsReadOnly
IList.Item[Int32] IList.Item[Int32] IList.Item[Int32] IList.Item[Int32]
IList.Remove(Object) IList.Remove(Object) IList.Remove(Object) IList.Remove(Object)

Metodi di estensione

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

Consente la parallelizzazione di una query.Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.Converts an IEnumerable to an IQueryable.

Si applica a