Leer en inglés

Compartir a través de


XmlAnyElementAttributes Clase

Definición

Representa una colección de objetos XmlAnyElementAttribute.

C#
public class XmlAnyElementAttributes : System.Collections.IList
C#
public class XmlAnyElementAttributes : System.Collections.CollectionBase
Herencia
XmlAnyElementAttributes
Herencia
XmlAnyElementAttributes
Implementaciones

Ejemplos

En el ejemplo siguiente se crea un nuevo XmlAnyElementAttribute y se agrega a la colección de objetos a los que se accede a través de la XmlAnyElements propiedad . A XmlAttributes continuación, se agrega a un XmlAttributeOverrides objeto que se usa para crear un XmlSerializerobjeto . XmlSerializer se usa para serializar o deserializar un objeto . Para ver el efecto de usar la XmlAnyElementAttributes propiedad , cree un documento XML denominado UnknownElements.xml ejecutando el SerializeObject método en el Main método . Edite el documento resultante para incluir otros elementos (desconocidos). Convierta en comentario la SerializeObject llamada en el Main método y quite la marca de comentario de la llamada al DeserializeObject método , que imprime el nombre y el valor de cualquier elemento XML desconocido.

C#
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);
   }
}

Comentarios

XmlAnyElementAttributes Use para invalidar el comportamiento de un conjunto de XmlAnyElementAttribute objetos. Se pueden aplicar varias instancias de la XmlAnyElementAttribute clase a un miembro de clase, siempre que cada instancia tenga un valor de propiedad distinto Name ; esto indica a que XmlSerializer recopile elementos desconocidos en el elemento con nombre en la matriz adecuada. Por este motivo, se pueden agregar varias instancias de la XmlAnyElementAttribute clase a .XmlAnyElementAttributes

Para invalidar un conjunto de XmlAnyElementAttribute objetos:

  1. Cree un XmlAnyElementAttributesobjeto .

  2. Cree el conjunto de XmlAnyElementAttribute objetos y agregue cada objeto a la colección mediante el Add método .

  3. Cree un XmlAttributesobjeto .

  4. Establezca la XmlAnyElements propiedad en .XmlAnyElementAttributes

  5. Cree un XmlAttributeOverridesobjeto .

  6. XmlAttributes Agregue a XmlAttributeOverrides mediante el Add método .

  7. Cree una instancia de XmlSerializer mediante XmlAttributeOverrides.

  8. Serialice o deserialice un objeto que contiene el conjunto de XmlAnyElementAttribute objetos .

Constructores

XmlAnyElementAttributes()

Inicializa una nueva instancia de la clase XmlAnyElementAttributes.

Propiedades

Capacity

Obtiene o establece el número de elementos que puede contener CollectionBase.

(Heredado de CollectionBase)
Count

Obtiene el número de elementos incluidos en ICollection.

Count

Obtiene el número de elementos contenidos en la instancia de CollectionBase. Esta propiedad no se puede invalidar.

(Heredado de CollectionBase)
InnerList

Obtiene una colección ArrayList que contiene la lista de elementos incluidos en la instancia de CollectionBase.

(Heredado de CollectionBase)
Item[Int32]

Obtiene o establece la clase XmlAnyElementAttribute en el índice especificado.

List

Obtiene una colección IList que contiene la lista de elementos incluidos en la instancia de CollectionBase.

(Heredado de CollectionBase)

Métodos

Add(XmlAnyElementAttribute)

Agrega un objeto XmlAnyElementAttribute a la colección.

Clear()

Quita todos los elementos de IList.

Clear()

Elimina todos los objetos de la instancia de CollectionBase. Este método no se puede invalidar.

(Heredado de CollectionBase)
Contains(XmlAnyElementAttribute)

Obtiene un valor que indica si el XmlAnyElementAttribute especificado existe en la colección.

CopyTo(XmlAnyElementAttribute[], Int32)

Copia los objetos XmlElementAttribute de la colección en una matriz unidimensional compatible, empezando por el índice especificado de la matriz de destino.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetEnumerator()

Devuelve un enumerador que recorre en iteración una colección.

GetEnumerator()

Devuelve un enumerador que recorre en iteración la instancia de CollectionBase.

(Heredado de CollectionBase)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
IndexOf(XmlAnyElementAttribute)

Obtiene el índice del objeto XmlAnyElementAttribute especificado.

Insert(Int32, XmlAnyElementAttribute)

Inserta un objeto XmlAnyElementAttribute en el índice especificado de la colección.

MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OnClear()

Realiza procesos personalizados adicionales al borrar el contenido de la instancia CollectionBase.

(Heredado de CollectionBase)
OnClearComplete()

Realiza procesos personalizados adicionales después de borrar el contenido de la instancia de CollectionBase.

(Heredado de CollectionBase)
OnInsert(Int32, Object)

Realiza procesos personalizados adicionales antes de insertar un nuevo elemento en la instancia de CollectionBase.

(Heredado de CollectionBase)
OnInsertComplete(Int32, Object)

Realiza procesos personalizados adicionales después de insertar un nuevo elemento en la instancia de CollectionBase.

(Heredado de CollectionBase)
OnRemove(Int32, Object)

Realiza procesos de personalización adicionales al quitar un elemento de la instancia de CollectionBase.

(Heredado de CollectionBase)
OnRemoveComplete(Int32, Object)

Realiza procesos personalizados adicionales después de quitar un elemento de la instancia de CollectionBase.

(Heredado de CollectionBase)
OnSet(Int32, Object, Object)

Realiza procesos personalizados adicionales antes de establecer un valor en la instancia de CollectionBase.

(Heredado de CollectionBase)
OnSetComplete(Int32, Object, Object)

Realiza procesos personalizados adicionales después de establecer un valor en la instancia de CollectionBase.

(Heredado de CollectionBase)
OnValidate(Object)

Realiza procesos de personalización adicionales al validar un valor.

(Heredado de CollectionBase)
Remove(XmlAnyElementAttribute)

Quita el objeto XmlAnyElementAttribute especificado de la colección.

RemoveAt(Int32)

Quita el elemento de la interfaz IList que se encuentra en el índice especificado.

RemoveAt(Int32)

Quita el elemento que se encuentra en el índice especificado de la instancia de CollectionBase. Este método no se puede reemplazar.

(Heredado de CollectionBase)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

ICollection.CopyTo(Array, Int32)

Copia los elementos de ICollection en una matriz, a partir de un índice determinado.

ICollection.CopyTo(Array, Int32)

Copia la totalidad de CollectionBase en una matriz Array unidimensional compatible, comenzando en el índice especificado de la matriz de destino.

(Heredado de CollectionBase)
ICollection.IsSynchronized

Obtiene un valor que indica si el acceso a la interfaz ICollection está sincronizado (es seguro para subprocesos).

ICollection.IsSynchronized

Obtiene un valor que indica si el acceso a la interfaz CollectionBase está sincronizado (es seguro para subprocesos).

(Heredado de CollectionBase)
ICollection.SyncRoot

Obtiene un objeto que se puede usar para sincronizar el acceso a ICollection.

ICollection.SyncRoot

Obtiene un objeto que se puede usar para sincronizar el acceso a CollectionBase.

(Heredado de CollectionBase)
IList.Add(Object)

Agrega un elemento a IList.

IList.Add(Object)

Agrega un objeto al final de CollectionBase.

(Heredado de CollectionBase)
IList.Contains(Object)

Determina si IList contiene un valor específico.

IList.Contains(Object)

Determina si CollectionBase contiene un elemento específico.

(Heredado de CollectionBase)
IList.IndexOf(Object)

Determina el índice de un elemento específico de IList.

IList.IndexOf(Object)

Busca el objeto Object especificado y devuelve el índice de base cero de la primera aparición en toda la colección CollectionBase.

(Heredado de CollectionBase)
IList.Insert(Int32, Object)

Inserta un elemento en la interfaz IList, en el índice especificado.

IList.Insert(Int32, Object)

Inserta un elemento en CollectionBase en el índice especificado.

(Heredado de CollectionBase)
IList.IsFixedSize

Obtiene un valor que indica si la interfaz IList tiene un tamaño fijo.

IList.IsFixedSize

Obtiene un valor que indica si la interfaz CollectionBase tiene un tamaño fijo.

(Heredado de CollectionBase)
IList.IsReadOnly

Obtiene un valor que indica si IList es de solo lectura.

IList.IsReadOnly

Obtiene un valor que indica si CollectionBase es de solo lectura.

(Heredado de CollectionBase)
IList.Item[Int32]

Obtiene o establece el elemento en el índice especificado.

IList.Item[Int32]

Obtiene o establece el elemento en el índice especificado.

(Heredado de CollectionBase)
IList.Remove(Object)

Quita la primera aparición de un objeto específico de la interfaz IList.

IList.Remove(Object)

Quita la primera aparición de un objeto específico de la interfaz CollectionBase.

(Heredado de CollectionBase)

Métodos de extensión

Cast<TResult>(IEnumerable)

Convierte los elementos de IEnumerable en el tipo especificado.

OfType<TResult>(IEnumerable)

Filtra los elementos de IEnumerable en función de un tipo especificado.

AsParallel(IEnumerable)

Habilita la paralelización de una consulta.

AsQueryable(IEnumerable)

Convierte una interfaz IEnumerable en IQueryable.

Se aplica a

Producto Versiones
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1
UWP 10.0