XmlSerializerNamespaces Osztály

Definíció

Tartalmazza azOKAT az XML-névtereket és előtagokat, amelyekkel XmlSerializer minősített neveket hozhat létre egy XML-dokumentumpéldányban.

public ref class XmlSerializerNamespaces
public class XmlSerializerNamespaces
type XmlSerializerNamespaces = class
Public Class XmlSerializerNamespaces
Öröklődés
XmlSerializerNamespaces

Példák

Az alábbi példa létrehoz egy XmlSerializerNamespaces objektumot, és két előtagot és névtérpárt ad hozzá. A példa ezután átadja a XmlSerializerNamespaces metódusnak Serialize , amely egy Books objektumot szerializál egy XML-dokumentumba. Az objektum használatával a XmlSerializerNamespaces metódus minden Serialize XML-elemet és attribútumot a két névtér egyikével minősít.

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

Megjegyzések

Ez XmlSerializerNamespaces xml-névterek gyűjteményét tartalmazza, amelyek mindegyike egy-egy társított előtaggal rendelkezik. Az XmlSerializer osztály egy példányával XmlSerializerNamespaces minősített neveket hoz létre egy XML-dokumentumban.

A XmlSerializerNamespaces megadott XML-névtereknek meg kell felelniük az XML-ben névterek nevű W3C-specifikációnak.

Az XML-névterek lehetővé teszik az XML-dokumentumok XML-elemeinek és attribútumainak nevének minősítését. A minősített név egy előtagból és egy helyi névből áll, kettősponttal elválasztva. Az előtag csak helyőrzőként működik; egy névteret meghatározó URI-ra van leképezve. Az univerzálisan felügyelt URI-névtér és a helyi név kombinációja olyan nevet eredményez, amely garantáltan univerzálisan egyedi.

Minősített nevek létrehozása XML-dokumentumban:

  1. Hozzon létre egy XmlSerializerNamespaces példányt.

  2. Add a példányhoz használni kívánt előtagok és névtérpárok.

  3. Alkalmazza a megfelelő.NET attribútumot minden olyan tulajdonságra vagy osztályra, amelyet a XmlSerializer szerializál egy XML-dokumentumba. Az elérhető attribútumok a következők:

  1. Állítsa az Namespace egyes attribútumok tulajdonságát az objektum névtérértékeinek egyikére XmlSerializerNamespaces .

  2. Adja át a XmlSerializerNamespacesSerialize metódust a XmlSerializer.

Note

Az üres névtér és előtagpár létrehozása nem támogatott. Vagyis nem hozhat létre párokat a következő kóddal:

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

Konstruktorok

Name Description
XmlSerializerNamespaces()

Inicializálja a XmlSerializerNamespaces osztály új példányát.

XmlSerializerNamespaces(XmlQualifiedName[])

Inicializálja a XmlSerializerNamespaces osztály új példányát.

XmlSerializerNamespaces(XmlSerializerNamespaces)

Inicializálja az XmlSerializerNamespaces osztály új példányát az előtag- és névtérpárok gyűjteményét tartalmazó megadott példány XmlSerializerNamespaces használatával.

Tulajdonságok

Name Description
Count

Lekéri a gyűjtemény előtag- és névtérpárjainak számát.

Metódusok

Name Description
Add(String, String)

Előtagot és névtérpárt ad hozzá egy XmlSerializerNamespaces objektumhoz.

Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToArray()

Lekéri egy objektum előtag- és névtérpárjainak XmlSerializerNamespaces tömbét.

ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)

A következőre érvényes:

Lásd még