XmlSerializerNamespaces Klasse

Definition

Enthält die XML-Namespaces und Präfixe, die zum XmlSerializer Generieren qualifizierter Namen in einer XML-Dokumentinstanz verwendet werden.

public ref class XmlSerializerNamespaces
public class XmlSerializerNamespaces
type XmlSerializerNamespaces = class
Public Class XmlSerializerNamespaces
Vererbung
XmlSerializerNamespaces

Beispiele

Im folgenden Beispiel wird ein XmlSerializerNamespaces Objekt erstellt und diesem zwei Präfix- und Namespacepaare hinzugefügt. Anschließend übergibt das Beispiel die XmlSerializerNamespacesSerialize Methode, die ein Books Objekt in ein XML-Dokument serialisiert. Mit dem XmlSerializerNamespaces Objekt qualifiziert die Serialize Methode jedes XML-Element und -Attribut mit einem der beiden Namespaces.

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

Hinweise

Das XmlSerializerNamespaces Enthält eine Auflistung von XML-Namespaces, die jeweils mit einem zugeordneten Präfix versehen sind. Die XmlSerializer Klasse verwendet eine Instanz der XmlSerializerNamespaces Klasse, um qualifizierte Namen in einem XML-Dokument zu erstellen.

XML-Namespaces, die in der XmlSerializerNamespaces Datei enthalten sind, müssen der W3C-Spezifikation namens Namespaces in XML entsprechen.

XML-Namespaces bieten eine Möglichkeit, die Namen von XML-Elementen und Attributen in XML-Dokumenten zu qualifizieren. Ein qualifizierter Name besteht aus einem Präfix und einem lokalen Namen, getrennt durch einen Doppelpunkt. Das Präfix fungiert nur als Platzhalter; sie wird einem URI zugeordnet, der einen Namespace angibt. Die Kombination aus dem universalverwalteten URI-Namespace und dem lokalen Namen erzeugt einen Namen, der garantiert universell eindeutig ist.

So erstellen Sie qualifizierte Namen in einem XML-Dokument:

  1. Erstellen Sie eine XmlSerializerNamespaces Instanz.

  2. Add jedes Präfix- und Namespacepaar, das Sie der Instanz zuordnen möchten.

  3. Wenden Sie das entsprechende Attribut.NET auf jede Eigenschaft oder Klasse an, die vom XmlSerializer in ein XML-Dokument serialisiert wird. Die verfügbaren Attribute sind:

  1. Legen Sie die Namespace Eigenschaft jedes Attributs auf einen der Namespacewerte aus dem XmlSerializerNamespaces Objekt fest.

  2. Übergeben Sie die XmlSerializerNamespaces Methode Serialize der XmlSerializer.

Note

Die Erstellung eines leeren Namespace- und Präfixpaars wird nicht unterstützt. Das heißt, Sie können kein Paar mit dem folgenden Code erstellen:

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

Konstruktoren

Name Beschreibung
XmlSerializerNamespaces()

Initialisiert eine neue Instanz der XmlSerializerNamespaces-Klasse.

XmlSerializerNamespaces(XmlQualifiedName[])

Initialisiert eine neue Instanz der XmlSerializerNamespaces-Klasse.

XmlSerializerNamespaces(XmlSerializerNamespaces)

Initialisiert eine neue Instanz der XmlSerializerNamespaces Klasse mithilfe der angegebenen Instanz der XmlSerializerNamespaces Auflistung von Präfix- und Namespacepaaren.

Eigenschaften

Name Beschreibung
Count

Ruft die Anzahl der Präfix- und Namespacepaare in der Auflistung ab.

Methoden

Name Beschreibung
Add(String, String)

Fügt einem XmlSerializerNamespaces Objekt ein Präfix- und Namespacepaar hinzu.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToArray()

Ruft das Array von Präfix- und Namespacepaaren in einem XmlSerializerNamespaces Objekt ab.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen