XmlSerializerNamespaces Sınıf

Tanım

XML belge örneğinde nitelenmiş adlar oluşturmak için kullanılan XML ad alanlarını ve ön eklerini XmlSerializer içerir.

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

Örnekler

Aşağıdaki örnek bir XmlSerializerNamespaces nesne oluşturur ve bu nesneye iki ön ek ve ad alanı çifti ekler. Örnek, nesnesini xml belgesine Serialize seri hale Books getirerek yöntemine geçirirXmlSerializerNamespaces. XmlSerializerNamespaces yöntemi nesnesini Serialize kullanarak her XML öğesini ve özniteliğini iki ad alanından biriyle niteler.

#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

Açıklamalar

, XmlSerializerNamespaces her biri ilişkili ön eke sahip bir XML ad alanı koleksiyonu içerir. bir XmlSerializer XML belgesinde XmlSerializerNamespaces nitelenmiş adlar oluşturmak için sınıfının bir örneğini kullanır.

tarafından XmlSerializerNamespaces kapsanan XML ad alanları , XML'deki Ad Alanları adlı W3C belirtimine uygun olmalıdır.

XML ad alanları, XML belgelerindeki XML öğelerinin ve özniteliklerinin adlarını nitelemenin bir yolunu sağlar. Tam adı bir önek ve virgül ile ayrılmış bir yerel ad oluşur. Önek yalnızca bir yer tutucu olarak işlev görür; bir ad alanı belirten bir URI ile eşleşir. Evrensel olarak yönetilen URI ad alanı ile yerel adın birleşimi, evrensel olarak benzersiz olması garanti edilen bir ad üretir.

XML belgesinde nitelenmiş adlar oluşturmak için:

  1. Örnek XmlSerializerNamespaces oluşturma.

  2. Add örneğine eklemek istediğiniz her ön ek ve ad alanı çifti.

  3. appropriate.NET özniteliğini, xml belgesinde seri hale getiren XmlSerializer her özelliğe veya sınıfa uygulayın. Kullanılabilir öznitelikler şunlardır:

  1. Namespace Her özniteliğin özelliğini nesneden ad alanı değerlerinden XmlSerializerNamespaces birine ayarlayın.

  2. Geçiş XmlSerializerNamespaces için Serialize yöntemi XmlSerializer.

Not

Boş bir ad alanı ve ön ek çiftinin oluşturulması desteklenmez. Yani, aşağıdaki kodu kullanarak bir çift oluşturamazsınız:

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

Oluşturucular

XmlSerializerNamespaces()

XmlSerializerNamespaces sınıfının yeni bir örneğini başlatır.

XmlSerializerNamespaces(XmlQualifiedName[])

XmlSerializerNamespaces sınıfının yeni bir örneğini başlatır.

XmlSerializerNamespaces(XmlSerializerNamespaces)

Ön ek ve ad alanı çiftleri XmlSerializerNamespaces koleksiyonunu içeren belirtilen örneğini kullanarak sınıfının yeni bir örneğini XmlSerializerNamespaces başlatır.

Özellikler

Count

Koleksiyondaki ön ek ve ad alanı çiftlerinin sayısını alır.

Yöntemler

Add(String, String)

Bir nesneye ön ek ve ad alanı çifti XmlSerializerNamespaces ekler.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToArray()

Bir XmlSerializerNamespaces nesnedeki ön ek ve ad alanı çiftleri dizisini alır.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.