XmlSerializerNamespaces XmlSerializerNamespaces XmlSerializerNamespaces XmlSerializerNamespaces Class

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.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
Héritage
XmlSerializerNamespacesXmlSerializerNamespacesXmlSerializerNamespacesXmlSerializerNamespaces

Exemples

L’exemple suivant crée un XmlSerializerNamespaces de l’objet, et lui ajoute deux paires préfixe et l’espace de noms.The following example creates an XmlSerializerNamespaces object, and adds two prefix and namespace pairs to it. Cet exemple passe ensuite le XmlSerializerNamespaces à la Serialize (méthode), qui sérialise une Books objet dans un document XML.The example then passes the XmlSerializerNamespaces to the Serialize method, which serializes a Books object into an XML document. À l’aide de la XmlSerializerNamespaces objet, le Serialize méthode qualifie chaque élément et attribut XML avec l’un des deux espaces de noms.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
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

Le XmlSerializerNamespaces contient une collection d’espaces de noms XML, chacun avec un préfixe associé.The XmlSerializerNamespaces contains a collection of XML namespaces, each with an associated prefix. Le XmlSerializer utilise une instance de la XmlSerializerNamespaces classe pour créer des noms qualifiés dans un document XML.The XmlSerializer uses an instance of the XmlSerializerNamespaces class to create qualified names in an XML document.

Espaces de noms XML contenus par le XmlSerializerNamespaces doit être conforme à la spécification du W3C intitulée Namespaces in XML.XML namespaces contained by the XmlSerializerNamespaces must conform to the W3C specification named Namespaces in XML.

Espaces de noms XML fournissent un moyen pour qualifier les noms des éléments XML et des attributs dans des documents XML.XML namespaces provide a way to qualify the names of XML elements and attributes in XML documents. Un nom qualifié se compose d'un préfixe et d'un nom local, séparés par le caractère deux-points.A qualified name consists of a prefix and a local name, separated by a colon. 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.The prefix functions only as a placeholder; it is mapped to a URI that specifies a namespace. La combinaison de l’espace de noms URI universel et le nom local génère un nom universellement unicité est garanti.The combination of the universally-managed URI namespace and the local name produces a name that is guaranteed to be universally unique.

Pour créer des noms qualifiés dans un document XML :To create qualified names in an XML document:

  1. Créer un XmlSerializerNamespaces instance.Create an XmlSerializerNamespaces instance.

  2. Add chaque paire préfixe et l’espace de noms à l’instance.Add each prefix and namespace pair that you want to the instance.

  3. Appliquer l’attribut.NET approprié à chaque propriété ou classe que le XmlSerializer sérialise dans un document XML.Apply the appropriate.NET attribute to each property or class that the XmlSerializer serializes into an XML document. Les attributs disponibles sont :The available attributes are:

  1. Définir le Namespace propriété de chaque attribut à une des valeurs d’espace de noms à partir de la XmlSerializerNamespaces objet.Set the Namespace property of each attribute to one of the namespace values from the XmlSerializerNamespaces object.

  2. Passez XmlSerializerNamespaces à la méthode Serialize de XmlSerializer.Pass the XmlSerializerNamespaces to the Serialize method of the XmlSerializer.

Notes

La création d’une paire espace de noms et préfixe vide n’est pas pris en charge.The creation of an empty namespace and prefix pair is not supported. Autrement dit, vous ne pouvez pas créer une paire utilisant le code suivant :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("", "")  

Constructeurs

XmlSerializerNamespaces() XmlSerializerNamespaces() XmlSerializerNamespaces() XmlSerializerNamespaces()

Initialise une nouvelle instance de la classe XmlSerializerNamespaces.Initializes a new instance of the XmlSerializerNamespaces class.

XmlSerializerNamespaces(XmlQualifiedName[]) XmlSerializerNamespaces(XmlQualifiedName[]) XmlSerializerNamespaces(XmlQualifiedName[]) XmlSerializerNamespaces(XmlQualifiedName[])

Initialise une nouvelle instance de la classe XmlSerializerNamespaces.Initializes a new instance of the XmlSerializerNamespaces class.

XmlSerializerNamespaces(XmlSerializerNamespaces) XmlSerializerNamespaces(XmlSerializerNamespaces) XmlSerializerNamespaces(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.Initializes a new instance of the XmlSerializerNamespaces class, using the specified instance of XmlSerializerNamespaces containing the collection of prefix and namespace pairs.

Propriétés

Count Count Count Count

Obtient le nombre de paires préfixe/espace de noms dans la collection.Gets the number of prefix and namespace pairs in the collection.

Méthodes

Add(String, String) Add(String, String) Add(String, String) Add(String, String)

Ajoute une paire préfixe/espace de noms à un objet XmlSerializerNamespaces.Adds a prefix and namespace pair to an XmlSerializerNamespaces object.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Détermine si l'objet spécifié est identique à l'objet actuel.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fait office de fonction de hachage par défaut.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crée une copie superficielle de l'objet Object actuel.Creates a shallow copy of the current Object.

(Inherited from Object)
ToArray() ToArray() ToArray() ToArray()

Obtient le tableau de paires préfixe/espace de noms dans un objet XmlSerializerNamespaces.Gets the array of prefix and namespace pairs in an XmlSerializerNamespaces object.

ToString() ToString() ToString() ToString()

Retourne une chaîne qui représente l'objet actuel.Returns a string that represents the current object.

(Inherited from Object)

S’applique à

Voir aussi