XmlSerializerNamespaces Classe

Définition

Contient les espaces de noms et préfixes XML utilisés par XmlSerializer pour générer des noms qualifiés dans une instance de document XML.

public ref class XmlSerializerNamespaces
public class XmlSerializerNamespaces
type XmlSerializerNamespaces = class
Public Class XmlSerializerNamespaces
Héritage
XmlSerializerNamespaces

Exemples

L’exemple suivant crée un XmlSerializerNamespaces objet et y ajoute deux paires préfixe et espace de noms. L’exemple passe ensuite XmlSerializerNamespaces à la Serialize méthode, qui sérialise un Books objet dans un document XML. À l’aide de l' XmlSerializerNamespaces objet, la Serialize méthode qualifie chaque élément et attribut XML avec l’un des deux espaces de noms.

#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

Remarques

XmlSerializerNamespacesContient une collection d’espaces de noms XML, chacun avec un préfixe associé. XmlSerializerUtilise une instance de la XmlSerializerNamespaces classe pour créer des noms qualifiés dans un document XML.

Les espaces de noms XML contenus XmlSerializerNamespaces dans doivent se conformer à la spécification W3C nommée Namespaces in XML.

Les espaces de noms XML offrent un moyen de qualifier les noms d’éléments et d’attributs XML dans des documents XML. Un nom qualifié se compose d'un préfixe et d'un nom local, séparés par le caractère deux-points. Le préfixe joue uniquement le rôle d'espace réservé ; il est mappé à un URI (Universal Resource Identifier) qui spécifie un espace de noms. La combinaison de l’espace de noms URI à gestion universelle et du nom local produit un nom qui est garanti universellement unique.

Pour créer des noms qualifiés dans un document XML :

  1. Créer une XmlSerializerNamespaces instance.

  2. Add chaque paire de préfixe et d’espace de noms que vous souhaitez associer à l’instance.

  3. Appliquez l’attribut appropriate.NET à chaque propriété ou classe XmlSerializer sérialisée dans un document XML. Les attributs disponibles sont les suivants :

  1. Affectez Namespace à la propriété de chaque attribut l’une des valeurs d’espace de noms de l' XmlSerializerNamespaces objet.

  2. Passez XmlSerializerNamespaces à la méthode Serialize de XmlSerializer.

Notes

La création d’un espace de noms vide et d’une paire de préfixe n’est pas prise en charge. Autrement dit, vous ne pouvez pas créer une paire à l’aide du code suivant :

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

Constructeurs

XmlSerializerNamespaces()

Initialise une nouvelle instance de la classe XmlSerializerNamespaces.

XmlSerializerNamespaces(XmlQualifiedName[])

Initialise une nouvelle instance de la classe XmlSerializerNamespaces.

XmlSerializerNamespaces(XmlSerializerNamespaces)

Initialise une nouvelle instance de la classe XmlSerializerNamespaces, à l'aide de l'instance spécifiée de XmlSerializerNamespaces contenant la collection de paires préfixe-espace de noms.

Propriétés

Count

Obtient le nombre de paires préfixe/espace de noms dans la collection.

Méthodes

Add(String, String)

Ajoute une paire préfixe/espace de noms à un objet XmlSerializerNamespaces.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToArray()

Obtient le tableau de paires préfixe/espace de noms dans un objet XmlSerializerNamespaces.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à

Voir aussi