XmlSerializerNamespaces Classe

Definição

Contém os namespaces e prefixos XML que o XmlSerializer usa para gerar nomes qualificados em uma instância de documento XML.Contains the XML namespaces and prefixes that the XmlSerializer uses to generate qualified names in an XML-document instance.

public ref class XmlSerializerNamespaces
public class XmlSerializerNamespaces
type XmlSerializerNamespaces = class
Public Class XmlSerializerNamespaces
Herança
XmlSerializerNamespaces

Exemplos

O exemplo a seguir cria XmlSerializerNamespaces um objeto e adiciona dois pares de prefixo e namespace a ele.The following example creates an XmlSerializerNamespaces object, and adds two prefix and namespace pairs to it. Em seguida, o exemplo XmlSerializerNamespaces passa o Serialize para o método, que serializa Books um objeto em um documento XML.The example then passes the XmlSerializerNamespaces to the Serialize method, which serializes a Books object into an XML document. Usando o XmlSerializerNamespaces objeto, o Serialize método qualifica cada elemento XML e atributo com um dos dois namespaces.Using the XmlSerializerNamespaces object, the Serialize method qualifies each XML element and attribute with one of the two namespaces.

#using <System.Xml.dll>
#using <System.dll>

using namespace System;
using namespace System::IO;
using namespace System::Xml;
using namespace System::Xml::Serialization;
public ref class Price
{
public:

   [XmlAttributeAttribute(Namespace="http://www.cpandl.com")]
   String^ currency;

   [XmlElement(Namespace="http://www.cohowinery.com")]
   Decimal price;
};

[XmlType(Namespace="http://www.cpandl.com")]
public ref class Book
{
public:

   [XmlElement(Namespace="http://www.cpandl.com")]
   String^ TITLE;

   [XmlElement(Namespace="http://www.cohowinery.com")]
   Price^ PRICE;
};

public ref class Books
{
public:

   [XmlElement(Namespace="http://www.cohowinery.com")]
   Book^ Book;
};

public ref class Run
{
public:
   static void main()
   {
      Run^ test = gcnew Run;
      test->SerializeObject( "XmlNamespaces.xml" );
   }

   void SerializeObject( String^ filename )
   {
      XmlSerializer^ s = gcnew XmlSerializer( Books::typeid );

      // Writing a file requires a TextWriter.
      TextWriter^ t = gcnew StreamWriter( filename );

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

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

int main()
{
   Run::main();
}
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;
}

Imports System.IO
Imports System.Xml
Imports System.Xml.Serialization


Public Class Run
    
    Public Shared Sub Main()
        Dim test As New Run()
        test.SerializeObject("XmlNamespaces.xml")
    End Sub    
    
    Public Sub SerializeObject(ByVal filename As String)
        Dim s As New XmlSerializer(GetType(Books))
        ' Writing a file requires a TextWriter.
        Dim t As New StreamWriter(filename)
        
        ' Create an XmlSerializerNamespaces object and add two
        ' prefix-namespace pairs. 
        Dim ns As New XmlSerializerNamespaces()
        ns.Add("books", "http://www.cpandl.com")
        ns.Add("money", "http://www.cohowinery.com")
        
        ' Create a Book instance.
        Dim b As New Book()
        b.TITLE = "A Book Title"
        Dim p As New Price()
        p.price = CDec(9.95)
        p.currency = "US Dollar"
        b.PRICE = p
        Dim bks As New Books()
        bks.Book = b
        s.Serialize(t, bks, ns)
        t.Close()
    End Sub
End Class

Public Class Books
    <XmlElement(Namespace := "http://www.cohowinery.com")> _
    Public Book As Book
End Class

<XmlType(Namespace := "http://www.cpandl.com")> _
Public Class Book
    <XmlElement(Namespace := "http://www.cpandl.com")> _
    Public TITLE As String

    <XmlElement(Namespace := "http://www.cohowinery.com")> _
    Public PRICE As Price
End Class

Public Class Price
    <XmlAttribute(Namespace := "http://www.cpandl.com")> _
    Public currency As String
    
    <XmlElement(Namespace := "http://www.cohowinery.com")> _
    Public price As Decimal
End Class

Comentários

O XmlSerializerNamespaces contém uma coleção de namespaces XML, cada um com um prefixo associado.The XmlSerializerNamespaces contains a collection of XML namespaces, each with an associated prefix. O XmlSerializer usa uma instância XmlSerializerNamespaces da classe para criar nomes qualificados em um documento XML.The XmlSerializer uses an instance of the XmlSerializerNamespaces class to create qualified names in an XML document.

Os namespaces XML contidos pelo XmlSerializerNamespaces devem estar de acordo com a especificação W3C chamada namespaces em XML.XML namespaces contained by the XmlSerializerNamespaces must conform to the W3C specification named Namespaces in XML.

Namespaces XML fornecem uma maneira de qualificar os nomes de elementos XML e atributos em documentos XML.XML namespaces provide a way to qualify the names of XML elements and attributes in XML documents. Um nome qualificado é composto por um prefixo e por um nome local separados por dois-pontos.A qualified name consists of a prefix and a local name, separated by a colon. O prefixo funciona somente como espaço reservado; é mapeado para um URI que especifica um namespace.The prefix functions only as a placeholder; it is mapped to a URI that specifies a namespace. A combinação do namespace URI gerenciado universalmente e o nome local produz um nome que é garantido para ser universalmente exclusivo.The combination of the universally-managed URI namespace and the local name produces a name that is guaranteed to be universally unique.

Para criar nomes qualificados em um documento XML:To create qualified names in an XML document:

  1. Crie uma XmlSerializerNamespaces instância.Create an XmlSerializerNamespaces instance.

  2. Addcada par de prefixo e namespace que você deseja para a instância.Add each prefix and namespace pair that you want to the instance.

  3. Aplique o atributo appropriate.net a cada propriedade ou classe que o XmlSerializer serializa em um documento XML.Apply the appropriate.NET attribute to each property or class that the XmlSerializer serializes into an XML document. Os atributos disponíveis são:The available attributes are:

  1. Defina a Namespace propriedade de cada atributo como um dos valores XmlSerializerNamespaces de namespace do objeto.Set the Namespace property of each attribute to one of the namespace values from the XmlSerializerNamespaces object.

  2. Passe o XmlSerializerNamespaces para o método Serialize do XmlSerializer.Pass the XmlSerializerNamespaces to the Serialize method of the XmlSerializer.

Observação

Não há suporte para a criação de um namespace vazio e par de prefixo.The creation of an empty namespace and prefix pair is not supported. Ou seja, você não pode criar um par usando o seguinte código:That is, you cannot create a pair using the following code:

XmlSerializerNamespaces ns = new XmlSerializerNamespaces();   
ns.Add("", "");  
Dim ns As XmlSerializerNamespaces ns = New XmlSerializerNamespaces()  
ns.Add("", "")  

Construtores

XmlSerializerNamespaces()

Inicializa uma nova instância da classe XmlSerializerNamespaces.Initializes a new instance of the XmlSerializerNamespaces class.

XmlSerializerNamespaces(XmlQualifiedName[])

Inicializa uma nova instância da classe XmlSerializerNamespaces.Initializes a new instance of the XmlSerializerNamespaces class.

XmlSerializerNamespaces(XmlSerializerNamespaces)

Inicializa uma nova instância da classe XmlSerializerNamespaces, usando a instância especificada do XmlSerializerNamespaces que contém a coleção de pares de prefixo e namespace.Initializes a new instance of the XmlSerializerNamespaces class, using the specified instance of XmlSerializerNamespaces containing the collection of prefix and namespace pairs.

Propriedades

Count

Obtém o número de pares de prefixo e namespace na coleção.Gets the number of prefix and namespace pairs in the collection.

Métodos

Add(String, String)

Adiciona um par de prefixo e namespace a um objeto XmlSerializerNamespaces.Adds a prefix and namespace pair to an XmlSerializerNamespaces object.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Herdado de Object)
ToArray()

Obtém a matriz de pares de prefixo e namespace em um objeto XmlSerializerNamespaces.Gets the array of prefix and namespace pairs in an XmlSerializerNamespaces object.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Herdado de Object)

Aplica-se a

Veja também