XmlSerializerNamespaces Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Contém os espaços de nomes XML e prefixos que utiliza XmlSerializer para gerar nomes qualificados numa instância de documento XML.
public ref class XmlSerializerNamespaces
public class XmlSerializerNamespaces
type XmlSerializerNamespaces = class
Public Class XmlSerializerNamespaces
- Herança
-
XmlSerializerNamespaces
Exemplos
O exemplo seguinte cria um XmlSerializerNamespaces objeto e adiciona-lhe dois pares de prefixo e namespace. O exemplo passa então para XmlSerializerNamespaces o Serialize método, que serializa um Books objeto num 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
Observações
Contém XmlSerializerNamespaces uma coleção de espaços de nomes XML, cada um com um prefixo associado. Utiliza XmlSerializer uma instância da XmlSerializerNamespaces classe para criar nomes qualificados num documento XML.
Os espaços de nomes XML contidos pelo XmlSerializerNamespaces devem estar em conformidade com a especificação do W3C chamada Namespaces in XML.
Os espaços de nomes XML fornecem uma forma de qualificar os nomes dos elementos e atributos XML em documentos XML. Um nome qualificado consiste num prefixo e num nome local, separados por dois pontos. O prefixo funciona apenas como um marcador de posição; é mapeado para um URI que especifica um namespace. A combinação do espaço de nomes URI universalmente gerido e do nome local produz um nome que é garantidamente universalmente único.
Para criar nomes qualificados num documento XML:
Cria uma XmlSerializerNamespaces instância.
Add cada par de prefixos e namespace que queres para a instância.
Aplicar o atributo apropriado.NET a cada propriedade ou classe que o XmlSerializer serializa num documento XML. Os atributos disponíveis são:
Defina a
Namespacepropriedade de cada atributo para um dos valores do namespace do XmlSerializerNamespaces objeto.Passe o XmlSerializerNamespaces para o Serialize método do XmlSerializer.
Note
A criação de um par vazio de namespace e prefixo não é suportada. Ou seja, 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
| Name | Description |
|---|---|
| XmlSerializerNamespaces() |
Inicializa uma nova instância da XmlSerializerNamespaces classe. |
| XmlSerializerNamespaces(XmlQualifiedName[]) |
Inicializa uma nova instância da XmlSerializerNamespaces classe. |
| XmlSerializerNamespaces(XmlSerializerNamespaces) |
Inicializa uma nova instância da XmlSerializerNamespaces classe, usando a instância especificada de |
Propriedades
| Name | Description |
|---|---|
| Count |
Obtém o número de pares de prefixo e namespace na coleção. |
Métodos
| Name | 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 função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToArray() |
Obtém o array dos pares de prefixo e namespace num XmlSerializerNamespaces objeto. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |