XmlSerializerNamespaces Třída

Definice

Obsahuje obory názvů XML a předpony, které XmlSerializer používá ke generování kvalifikovaných názvů v instanci dokumentu XML.Contains the XML namespaces and prefixes that the XmlSerializer uses to generate qualified names in an XML-document instance.

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 dvě dvojice předpony a oboru názvů.The following example creates an XmlSerializerNamespaces object, and adds two prefix and namespace pairs to it. Příklad pak předá XmlSerializerNamespaces Serialize metodě, která serializace Books objektu do dokumentu XML.The example then passes the XmlSerializerNamespaces to the Serialize method, which serializes a Books object into an XML document. Pomocí objektu se metoda přiřadí XmlSerializerNamespaces Serialize každému elementu XML a atribut jednomu ze dvou oborů názvů.Using the XmlSerializerNamespaces object, the Serialize method qualifies each XML element and attribute with one of the two namespaces.

#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

XmlSerializerNamespacesObsahuje kolekci oborů názvů XML, z nichž každá má přidruženou předponu.The XmlSerializerNamespaces contains a collection of XML namespaces, each with an associated prefix. XmlSerializerPoužívá instanci XmlSerializerNamespaces třídy k vytvoření kvalifikovaných názvů v dokumentu XML.The XmlSerializer uses an instance of the XmlSerializerNamespaces class to create qualified names in an XML document.

Obory názvů XML obsažené v XmlSerializerNamespaces musí odpovídat specifikaci W3C s názvem namespaces v XML.XML namespaces contained by the XmlSerializerNamespaces must conform to the W3C specification named Namespaces in XML.

Obory názvů XML poskytují způsob, jak kvalifikovat názvy elementů XML a atributů v dokumentech XML.XML namespaces provide a way to qualify the names of XML elements and attributes in XML documents. Úplný název se skládá z předpony a názvu místní, oddělených středníkem.A qualified name consists of a prefix and a local name, separated by a colon. Předpona, která funguje pouze jako zástupný symbol; je mapován na identifikátor URI, který určuje obor názvů.The prefix functions only as a placeholder; it is mapped to a URI that specifies a namespace. Kombinace oboru názvů univerzálně spravovaného identifikátoru URI a místní název vytváří název, který je zaručen jako univerzálně jedinečný.The combination of the universally-managed URI namespace and the local name produces a name that is guaranteed to be universally unique.

Vytvoření kvalifikovaných názvů v dokumentu XML:To create qualified names in an XML document:

  1. Vytvořte XmlSerializerNamespaces instanci.Create an XmlSerializerNamespaces instance.

  2. Add každou dvojici předpony a oboru názvů, kterou chcete instanci.Add each prefix and namespace pair that you want to the instance.

  3. Použijte atribut appropriate.NET pro každou vlastnost nebo třídu, která je XmlSerializer serializována do dokumentu XML.Apply the appropriate.NET attribute to each property or class that the XmlSerializer serializes into an XML document. K dispozici jsou tyto atributy:The available attributes are:

  1. Nastavte Namespace vlastnost každého atributu na jednu z hodnot oboru názvů z XmlSerializerNamespaces objektu.Set the Namespace property of each attribute to one of the namespace values from the XmlSerializerNamespaces object.

  2. Předat XmlSerializerNamespaces k Serialize metodu XmlSerializer.Pass the XmlSerializerNamespaces to the Serialize method of the XmlSerializer.

Poznámka

Vytvoření prázdného oboru názvů a dvojice předpon se nepodporuje.The creation of an empty namespace and prefix pair is not supported. To znamená, že nelze vytvořit dvojici pomocí následujícího kódu:That is, you cannot create a pair using the following code:

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

Konstruktory

XmlSerializerNamespaces()

Inicializuje novou instanci XmlSerializerNamespaces třídy.Initializes a new instance of the XmlSerializerNamespaces class.

XmlSerializerNamespaces(XmlQualifiedName[])

Inicializuje novou instanci XmlSerializerNamespaces třídy.Initializes a new instance of the XmlSerializerNamespaces class.

XmlSerializerNamespaces(XmlSerializerNamespaces)

Inicializuje novou instanci XmlSerializerNamespaces třídy pomocí zadané instance XmlSerializerNamespaces obsahující kolekci párů předpon a obor názvů.Initializes a new instance of the XmlSerializerNamespaces class, using the specified instance of XmlSerializerNamespaces containing the collection of prefix and namespace pairs.

Vlastnosti

Count

Získá počet párů předpon a oboru názvů v kolekci.Gets the number of prefix and namespace pairs in the collection.

Metody

Add(String, String)

Přidá do objektu dvojici předpony a oboru názvů XmlSerializerNamespaces .Adds a prefix and namespace pair to an XmlSerializerNamespaces object.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.Determines whether the specified object is equal to the current object.

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

Slouží jako výchozí funkce hash.Serves as the default hash function.

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

Získá Type aktuální instanci.Gets the Type of the current instance.

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

Vytvoří kopii aktuálního seznamu Object .Creates a shallow copy of the current Object.

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

Získá pole předpony předpony a oboru názvů v XmlSerializerNamespaces objektu.Gets the array of prefix and namespace pairs in an XmlSerializerNamespaces object.

ToString()

Vrátí řetězec, který představuje aktuální objekt.Returns a string that represents the current object.

(Zděděno od Object)

Platí pro

Viz také