Leer en inglés

Compartir vía


XmlSerializerNamespaces Clase

Definición

Contiene los espacios de nombres XML y prefijos que XmlSerializer utiliza para generar nombres calificados en una instancia de documento XML.

C#
public class XmlSerializerNamespaces
Herencia
XmlSerializerNamespaces

Ejemplos

En el ejemplo siguiente se crea un XmlSerializerNamespaces objeto y se le agregan dos pares de prefijo y espacio de nombres. A continuación, el ejemplo pasa al XmlSerializerNamespaces Serialize método , que serializa un Books objeto en un documento XML. Con el XmlSerializerNamespaces objeto , el Serialize método califica cada elemento XML y atributo con uno de los dos espacios de nombres.

C#
using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;

public class Run
{
   public static void Main()
   {
      Run test = new Run();
      test.SerializeObject("XmlNamespaces.xml");
   }

   public void SerializeObject(string filename)
   {
      XmlSerializer s = new XmlSerializer(typeof(Books));
      // Writing a file requires a TextWriter.
      TextWriter t = new StreamWriter(filename);

      /* Create an XmlSerializerNamespaces object and add two
      prefix-namespace pairs. */
      XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
      ns.Add("books", "http://www.cpandl.com");
      ns.Add("money", "http://www.cohowinery.com");

      // Create a Book instance.
      Book b = new Book();
      b.TITLE = "A Book Title";
      Price p = new Price();
      p.price = (decimal) 9.95;
      p.currency = "US Dollar";
      b.PRICE = p;
      Books bks = new Books();
      bks.Book = b;
      s.Serialize(t,bks,ns);
      t.Close();
   }
}

public class Books
{
   [XmlElement(Namespace = "http://www.cohowinery.com")]
   public Book Book;
}

[XmlType(Namespace ="http://www.cpandl.com")]
public class Book
{
   [XmlElement(Namespace = "http://www.cpandl.com")]
   public string TITLE;
   [XmlElement(Namespace ="http://www.cohowinery.com")]
   public Price PRICE;
}

public class Price
{
   [XmlAttribute(Namespace = "http://www.cpandl.com")]
   public string currency;
   [XmlElement(Namespace = "http://www.cohowinery.com")]
   public decimal price;
}

Comentarios

XmlSerializerNamespaces contiene una colección de espacios de nombres XML, cada uno con un prefijo asociado. XmlSerializer utiliza una instancia de la XmlSerializerNamespaces clase para crear nombres completos en un documento XML.

Los espacios de nombres XML contenidos en XmlSerializerNamespaces deben ajustarse a la especificación W3C denominada Espacios de nombres en XML.

Los espacios de nombres XML proporcionan una manera de calificar los nombres de elementos y atributos XML en documentos XML. Un nombre calificado se compone de un prefijo y un nombre local, separados por dos puntos. El prefijo funciona únicamente como marcador de posición y está asignado a un identificador URI que especifica un espacio de nombres. La combinación del espacio de nombres de URI administrado universalmente y el nombre local genera un nombre que se garantiza que sea universalmente único.

Para crear nombres completos en un documento XML:

  1. Cree una XmlSerializerNamespaces instancia.

  2. Add cada par de prefijos y espacios de nombres que desee en la instancia.

  3. Aplique el atributo appropriate.NET a cada propiedad o clase que serializa XmlSerializer en un documento XML. Los atributos disponibles son:

  1. Establezca la Namespace propiedad de cada atributo en uno de los valores de espacio de nombres del XmlSerializerNamespaces objeto .

  2. Pase XmlSerializerNamespaces al método Serialize de XmlSerializer.

Nota

No se admite la creación de un espacio de nombres vacío y un par de prefijos. Es decir, no puede crear un par con el código siguiente:

C#
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();   
ns.Add("", "");  

Constructores

XmlSerializerNamespaces()

Inicializa una nueva instancia de la clase XmlSerializerNamespaces.

XmlSerializerNamespaces(XmlQualifiedName[])

Inicializa una nueva instancia de la clase XmlSerializerNamespaces.

XmlSerializerNamespaces(XmlSerializerNamespaces)

Inicializa una nueva instancia de la clase XmlSerializerNamespaces, utilizando la instancia especificada de XmlSerializerNamespaces que contiene la colección de pares prefijo y espacio de nombres.

Propiedades

Count

Obtiene el número de pares de prefijo y espacio de nombres de la colección.

Métodos

Add(String, String)

Agrega un par de prefijo y espacio de nombres a un objeto XmlSerializerNamespaces.

Equals(Object)

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

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToArray()

Obtiene la matriz de pares de prefijo y espacio de nombres en un objeto XmlSerializerNamespaces.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

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
.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
.NET Standard 2.0, 2.1
UWP 10.0

Consulte también