XmlSerializerNamespaces Třída

Definice

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:

  1. Vytvořte XmlSerializerNamespaces instanci.

  2. Add každý pár předpony a oboru názvů, který chcete instanci použít.

  3. Použijte příslušný atribut.NET pro každou vlastnost nebo třídu, kterou XmlSerializer serializuje do dokumentu XML. Dostupné atributy jsou:

  1. Namespace Nastavte vlastnost každého atributu na jednu z hodnot oboru názvů z objektuXmlSerializerNamespaces.

  2. 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 XmlSerializerNamespacesXmlSerializerNamespaces obsahující kolekci párů předpon a oborů názvů.

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)

Platí pro

Viz také