XmlSerializerNamespaces XmlSerializerNamespaces XmlSerializerNamespaces XmlSerializerNamespaces Class

Definizione

Contiene gli spazi dei nomi e i prefissi XML che XmlSerializer usa per generare i nomi completi in un'istanza di un documento 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
Ereditarietà
XmlSerializerNamespacesXmlSerializerNamespacesXmlSerializerNamespacesXmlSerializerNamespaces

Esempi

Nell'esempio seguente viene creato XmlSerializerNamespaces un oggetto a cui vengono aggiunte due coppie di prefisso e spazio dei nomi.The following example creates an XmlSerializerNamespaces object, and adds two prefix and namespace pairs to it. Nell'esempio viene quindi passato XmlSerializerNamespaces Serialize al metodo, che serializza un Books oggetto in un documento XML.The example then passes the XmlSerializerNamespaces to the Serialize method, which serializes a Books object into an XML document. Utilizzando l' XmlSerializerNamespaces oggetto, il Serialize metodo qualifica ogni elemento e attributo XML con uno dei due spazi dei nomi.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

Commenti

XmlSerializerNamespaces Contiene una raccolta di spazi dei nomi XML, ognuno con un prefisso associato.The XmlSerializerNamespaces contains a collection of XML namespaces, each with an associated prefix. Usa un'istanza XmlSerializerNamespaces della classe per creare nomi completi in un documento XML. XmlSerializerThe XmlSerializer uses an instance of the XmlSerializerNamespaces class to create qualified names in an XML document.

Gli spazi dei nomi XML contenuti XmlSerializerNamespaces in devono essere conformi alla specifica W3C denominata Namespaces in XML.XML namespaces contained by the XmlSerializerNamespaces must conform to the W3C specification named Namespaces in XML.

Gli spazi dei nomi XML forniscono un modo per qualificare i nomi degli elementi e degli attributi XML nei documenti XML.XML namespaces provide a way to qualify the names of XML elements and attributes in XML documents. Un nome completo è composto da un prefisso e da un nome locale, separati dal carattere di due punti.A qualified name consists of a prefix and a local name, separated by a colon. Il prefisso funge soltanto da segnaposto ed è mappato a un URI che specifica uno spazio dei nomi.The prefix functions only as a placeholder; it is mapped to a URI that specifies a namespace. La combinazione dello spazio dei nomi URI gestito universalmente e del nome locale produce un nome che deve essere universalmente univoco.The combination of the universally-managed URI namespace and the local name produces a name that is guaranteed to be universally unique.

Per creare nomi completi in un documento XML:To create qualified names in an XML document:

  1. Creare un' XmlSerializerNamespaces istanza di.Create an XmlSerializerNamespaces instance.

  2. Addogni coppia di prefisso e spazio dei nomi desiderata per l'istanza.Add each prefix and namespace pair that you want to the instance.

  3. Applicare l'attributo appropriate.NET a ogni proprietà o classe XmlSerializer serializzata in un documento XML.Apply the appropriate.NET attribute to each property or class that the XmlSerializer serializes into an XML document. Gli attributi disponibili sono:The available attributes are:

  1. Impostare la Namespace proprietà di ogni attributo su uno dei valori XmlSerializerNamespaces dello spazio dei nomi dell'oggetto.Set the Namespace property of each attribute to one of the namespace values from the XmlSerializerNamespaces object.

  2. Passare XmlSerializerNamespaces al metodo Serialize di XmlSerializer.Pass the XmlSerializerNamespaces to the Serialize method of the XmlSerializer.

Nota

La creazione di una coppia di prefisso e spazio dei nomi vuota non è supportata.The creation of an empty namespace and prefix pair is not supported. Ovvero non è possibile creare una coppia usando il codice seguente: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("", "")  

Costruttori

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

Inizializza una nuova istanza della classe XmlSerializerNamespaces.Initializes a new instance of the XmlSerializerNamespaces class.

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

Inizializza una nuova istanza della classe XmlSerializerNamespaces.Initializes a new instance of the XmlSerializerNamespaces class.

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

Inizializza una nuova istanza della classe XmlSerializerNamespaces, utilizzando l'istanza specificata di XmlSerializerNamespaces che contiene l'insieme delle coppie di prefisso e spazio dei nomi.Initializes a new instance of the XmlSerializerNamespaces class, using the specified instance of XmlSerializerNamespaces containing the collection of prefix and namespace pairs.

Proprietà

Count Count Count Count

Ottiene il numero di coppie di prefisso e spazio dei nomi nell'insieme.Gets the number of prefix and namespace pairs in the collection.

Metodi

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

Aggiunge una coppia di prefisso e spazio dei nomi a un oggetto XmlSerializerNamespaces.Adds a prefix and namespace pair to an XmlSerializerNamespaces object.

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

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

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

Funge da funzione hash predefinita.Serves as the default hash function.

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

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

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

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

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

Ottiene la matrice delle coppie di prefisso e spazio dei nomi in un oggetto XmlSerializerNamespaces.Gets the array of prefix and namespace pairs in an XmlSerializerNamespaces object.

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

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Inherited from Object)

Si applica a

Vedi anche