XmlSerializerNamespaces Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Contém os namespaces XML e os prefixos usados XmlSerializer para gerar nomes qualificados em uma instância de documento XML.
public ref class XmlSerializerNamespaces
public class XmlSerializerNamespaces
type XmlSerializerNamespaces = class
Public Class XmlSerializerNamespaces
- Herança
-
XmlSerializerNamespaces
Exemplos
O exemplo a seguir cria um XmlSerializerNamespaces objeto e adiciona dois pares de prefixo e namespace a ele. Em seguida, o exemplo passa para XmlSerializerNamespaces o Serialize método, que serializa um Books objeto em um documento XML. Usando o XmlSerializerNamespaces objeto, o Serialize método qualifica cada elemento XML e atributo com um dos dois namespaces.
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
Contém XmlSerializerNamespaces uma coleção de namespaces XML, cada um com um prefixo associado. O XmlSerializer usa uma instância da XmlSerializerNamespaces classe para criar nomes qualificados em um documento XML.
Namespaces XML contidos pelo XmlSerializerNamespaces deve estar em conformidade com a especificação W3C chamada Namespaces em XML.
Os namespaces XML fornecem uma maneira de qualificar os nomes de elementos XML e atributos em documentos XML. Um nome qualificado consiste em um prefixo e um nome local, separados por dois-pontos. O prefixo funciona apenas como um espaço reservado; ele é mapeado para um URI que especifica um namespace. A combinação do namespace de URI gerenciado universalmente e o nome local produz um nome que tem a garantia de ser universalmente exclusivo.
Para criar nomes qualificados em um documento XML:
Crie uma XmlSerializerNamespaces instância.
Add cada par de prefixo e namespace que você deseja para a instância.
Aplique o atributo apropriado.NET a cada propriedade ou classe que o XmlSerializer serializa em um documento XML. Os atributos disponíveis são:
Defina a
Namespacepropriedade de cada atributo como um dos valores de namespace do XmlSerializerNamespaces objeto.Passe o XmlSerializerNamespacesSerialize método do XmlSerializer.
Note
Não há suporte para a criação de um namespace vazio e um par de prefixos. Ou seja, você não pode criar um par usando o seguinte código:
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");
Dim ns As XmlSerializerNamespaces ns = New XmlSerializerNamespaces()
ns.Add("", "")
Construtores
| Nome | Description |
|---|---|
| XmlSerializerNamespaces() |
Inicializa uma nova instância da classe XmlSerializerNamespaces. |
| XmlSerializerNamespaces(XmlQualifiedName[]) |
Inicializa uma nova instância da classe XmlSerializerNamespaces. |
| XmlSerializerNamespaces(XmlSerializerNamespaces) |
Inicializa uma nova instância da XmlSerializerNamespaces classe, usando a instância especificada de |
Propriedades
| Nome | Description |
|---|---|
| Count |
Obtém o número de pares de prefixo e namespace na coleção. |
Métodos
| Nome | Description |
|---|---|
| Add(String, String) |
Adiciona um par de prefixo e namespace a um XmlSerializerNamespaces objeto. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como a função hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do Objectatual. (Herdado de Object) |
| ToArray() |
Obtém a matriz de pares de prefixo e namespace em um XmlSerializerNamespaces objeto. |
| ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |