XmlSerializerNamespaces XmlSerializerNamespaces XmlSerializerNamespaces XmlSerializerNamespaces Class

定義

XmlSerializer が XML ドキュメント インスタンスで修飾名を生成するために使用する 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
継承
XmlSerializerNamespacesXmlSerializerNamespacesXmlSerializerNamespacesXmlSerializerNamespaces

次の例では、作成、XmlSerializerNamespacesオブジェクト、および 2 つのプレフィックスと名前空間のペアを追加します。The following example creates an XmlSerializerNamespaces object, and adds two prefix and namespace pairs to it. 渡します、XmlSerializerNamespacesSerializeメソッドは、シリアル化、Booksオブジェクトを XML ドキュメントにします。The example then passes the XmlSerializerNamespaces to the Serialize method, which serializes a Books object into an XML document. 使用して、XmlSerializerNamespacesオブジェクト、Serializeメソッドは、各 XML 要素と 2 つの名前空間のいずれかの属性を修飾します。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

注釈

XmlSerializerNamespacesそれぞれに関連付けられているプレフィックスを XML 名前空間のコレクションが含まれています。The XmlSerializerNamespaces contains a collection of XML namespaces, each with an associated prefix. XmlSerializerのインスタンスを使用して、 XmlSerializerNamespaces XML ドキュメントにおける修飾名を作成するクラス。The XmlSerializer uses an instance of the XmlSerializerNamespaces class to create qualified names in an XML document.

含まれている XML 名前空間、XmlSerializerNamespacesという名前の www.w3.org 仕様に準拠する必要がありますNamespaces in XMLします。XML namespaces contained by the XmlSerializerNamespaces must conform to the www.w3.org specification named Namespaces in XML.

XML 名前空間は、XML ドキュメントの XML 要素と属性の名前を修飾する方法を提供します。XML namespaces provide a way to qualify the names of XML elements and attributes in XML documents. 修飾名は、プレフィックスとローカル名がコロンで区切られた構成になっています。A qualified name consists of a prefix and a local name, separated by a colon. プレフィックスはプレースホルダーとしてのみ機能し、名前空間を指定する URI に割り当てられます。The prefix functions only as a placeholder; it is mapped to a URI that specifies a namespace. URI の普遍的に管理されている名前空間とローカル名の組み合わせには、汎用的で一意であることが保証される名前が生成されます。The combination of the universally-managed URI namespace and the local name produces a name that is guaranteed to be universally unique.

XML ドキュメントにおける修飾名を作成します。To create qualified names in an XML document:

  1. 作成、XmlSerializerNamespacesインスタンス。Create an XmlSerializerNamespaces instance.

  2. Add 各プレフィックスと名前空間のペアのインスタンスにします。Add each prefix and namespace pair that you want to the instance.

  3. 各プロパティに appropriate.NET 属性の適用やクラスに、 XmlSerializer XML ドキュメントにシリアル化します。Apply the appropriate.NET attribute to each property or class that the XmlSerializer serializes into an XML document. 使用可能な属性は次のとおりです。The available attributes are:

  1. 設定、Namespaceから名前空間の値の 1 つの各属性のプロパティ、XmlSerializerNamespacesオブジェクト。Set the Namespace property of each attribute to one of the namespace values from the XmlSerializerNamespaces object.

  2. XmlSerializerNamespacesSerializeXmlSerializer メソッドに渡します。Pass the XmlSerializerNamespaces to the Serialize method of the XmlSerializer.

注意

空の名前空間とプレフィックスのペアの作成がサポートされていません。The creation of an empty namespace and prefix pair is not supported. 次のコードを使用してペアを作成することはできません。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("", "")  

コンストラクター

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

XmlSerializerNamespaces クラスの新しいインスタンスを初期化します。Initializes a new instance of the XmlSerializerNamespaces class.

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

XmlSerializerNamespaces クラスの新しいインスタンスを初期化します。Initializes a new instance of the XmlSerializerNamespaces class.

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

プレフィックスと名前空間のペアのコレクションを保持する XmlSerializerNamespaces のインスタンスを指定して、XmlSerializerNamespaces クラスの新しいインスタンスを初期化します。Initializes a new instance of the XmlSerializerNamespaces class, using the specified instance of XmlSerializerNamespaces containing the collection of prefix and namespace pairs.

プロパティ

Count Count Count Count

コレクション内のプレフィックスと名前空間のペアの数を取得します。Gets the number of prefix and namespace pairs in the collection.

メソッド

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

XmlSerializerNamespaces オブジェクトにプレフィックスと名前空間のペアを追加します。Adds a prefix and namespace pair to an XmlSerializerNamespaces object.

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

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

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

既定のハッシュ関数として機能します。Serves as the default hash function.

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

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

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

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

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

XmlSerializerNamespaces オブジェクト内のプレフィックスと名前空間のペアの配列を取得します。Gets the array of prefix and namespace pairs in an XmlSerializerNamespaces object.

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

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象

こちらもご覧ください