Sdílet prostřednictvím


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á XmlSerializerNamespaces Serialize metodě, která serializuje Books objekt do dokumentu XML. Pomocí objektu XmlSerializerNamespaces Serialize metoda kvalifikuje každý element XML a atribut s jedním ze dvou oborů názvů.

#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

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é v XmlSerializerNamespaces jazyce XML musí odpovídat specifikaci W3C s názvem Obory názvů v JAZYCE XML.

Obory názvů XML poskytují způsob, jak kvalifikovat názvy elementů a atributů XML v dokumentech XML. Úplný název se skládá z předpony a názvu místní, oddělených středníkem. Předpona, která funguje pouze jako zástupný symbol; je mapován 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 atribut appropriate.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. Předat XmlSerializerNamespaces k Serialize metodu XmlSerializer.

Poznámka

Vytvoření prázdného oboru názvů a páru předpon není podporováno. To znamená, že pomocí následujícího kódu nemůžete vytvořit pár:

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

Konstruktory

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

Vlastnosti

Count

Získá počet dvojic předpon a oborů názvů v kolekci.

Metody

Add(String, String)

Přidá do objektu pár XmlSerializerNamespaces předpony a oboru názvů.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Type Získá aktuální instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru 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é