XmlSerializerNamespaces Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Obsahuje obory názvů XML a předpony, které XmlSerializer používá k vygenerování kvalifikovaných názvů v instanci dokumentu XML.
public ref class XmlSerializerNamespaces
public class XmlSerializerNamespaces
type XmlSerializerNamespaces = class
Public Class XmlSerializerNamespaces
- Dědičnost
-
XmlSerializerNamespaces
Příklady
Následující příklad vytvoří XmlSerializerNamespaces objekt a přidá do něj dva páry předpony a oboru názvů. Příklad pak předá XmlSerializerNamespacesSerialize metodě, která serializuje Books objekt do dokumentu XML. Pomocí objektu XmlSerializerNamespacesSerialize metoda kvalifikuje každý element XML a atribut s jedním ze dvou oborů názvů.
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
Poznámky
Obsahuje XmlSerializerNamespaces kolekci oborů názvů XML, z nichž každá má přidruženou předponu. Používá XmlSerializer instanci třídy k vytvoření kvalifikovaných XmlSerializerNamespaces názvů v dokumentu XML.
Obory názvů XML obsažené ve XmlSerializerNamespaces formátu W3C musí odpovídat specifikaci W3C s názvem Obory názvů v jazyce XML.
Obory názvů XML poskytují způsob, jak v dokumentech XML kvalifikovat názvy elementů a atributů XML. Kvalifikovaný název se skládá z předpony a místního názvu odděleného dvojtečkam. Předpona funguje pouze jako zástupný symbol; mapuje se na identifikátor URI, který určuje obor názvů. Kombinace univerzálního oboru názvů identifikátoru URI a místního názvu vytvoří název, který je zaručený jako univerzální jedinečný.
Vytvoření kvalifikovaných názvů v dokumentu XML:
Vytvořte XmlSerializerNamespaces instanci.
Add každý pár předpony a oboru názvů, který chcete instanci použít.
Použijte příslušný atribut.NET pro každou vlastnost nebo třídu, kterou XmlSerializer serializuje do dokumentu XML. Dostupné atributy jsou:
NamespaceNastavte vlastnost každého atributu na jednu z hodnot oboru názvů z objektuXmlSerializerNamespaces.XmlSerializerNamespaces Předejte metodu SerializeXmlSerializer.
Note
Vytvoření prázdného páru oborů názvů a předpon není podporováno. To znamená, že pomocí následujícího kódu nemůžete vytvořit dvojici:
XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
ns.Add("", "");
Dim ns As XmlSerializerNamespaces ns = New XmlSerializerNamespaces()
ns.Add("", "")
Konstruktory
| Name | Description |
|---|---|
| XmlSerializerNamespaces() |
Inicializuje novou instanci XmlSerializerNamespaces třídy. |
| XmlSerializerNamespaces(XmlQualifiedName[]) |
Inicializuje novou instanci XmlSerializerNamespaces třídy. |
| XmlSerializerNamespaces(XmlSerializerNamespaces) |
Inicializuje novou instanci třídy pomocí zadané instance XmlSerializerNamespaces |
Vlastnosti
| Name | Description |
|---|---|
| Count |
Získá počet párů předpon a oborů názvů v kolekci. |
Metody
| Name | Description |
|---|---|
| Add(String, String) |
Přidá do objektu pár XmlSerializerNamespaces předpony a oboru názvů. |
| Equals(Object) |
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToArray() |
Získá pole párů předpon a oborů názvů v objektu XmlSerializerNamespaces . |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |