XmlSerializerNamespacesとは? わかりやすく解説

XmlSerializerNamespaces クラス

XmlSerializer が XML ドキュメント インスタンス修飾名を生成するために使用する XML 名前空間プリフィックス格納されています。

名前空間: System.Xml.Serialization
アセンブリ: System.Xml (system.xml.dll 内)
構文構文

Public Class XmlSerializerNamespaces
Dim instance As XmlSerializerNamespaces
public class XmlSerializerNamespaces
public ref class XmlSerializerNamespaces
public class XmlSerializerNamespaces
public class XmlSerializerNamespaces
解説解説

XmlSerializerNamespaces には、XML 名前空間コレクションと、それぞれの名前空間関連付けられたプリフィックス格納されています。XmlSerializer は、この XmlSerializerNamespaces クラスインスタンス使用してXML ドキュメント修飾名を作成します

XmlSerializerNamespaces格納される XML 名前空間は、W3C (www.w3.org) による仕様Namespaces in XML』に準拠する必要があります

XML 名前空間使用すると、XML ドキュメント内の XML 要素と属性の名前を修飾できます修飾名は、プリフィックスローカル名をコロン区切った構成になってます。プリフィックスはプレースホルダとしてだけ機能し名前空間指定する URI割り当てられます。汎用的管理されURI 名前空間ローカル名を組み合わせることにより、生成される名前は、必ず汎用的一意となります

XML ドキュメント修飾名を作成するには、次の手順実行します

  1. XmlSerializerNamespaces インスタンス作成します

  2. Add メソッド使用して必要なプリフィックス名前空間の各ペアをこのインスタンス追加します

  3. XmlSerializerXML ドキュメントシリアル化する各プロパティまたはクラスに、適切な .NET 属性適用します。使用できる属性次に示します

  • XmlArrayAttribute

  • XmlArrayItemAttribute

  • XmlAttributeAttribute

  • XmlElementAttribute

  • XmlRootAttribute

  • XmlTypeAttribute

  1. 属性Namespace プロパティを、XmlSerializerNamespaces オブジェクト名前空間値の 1 つ設定します

  2. XmlSerializerNamespacesXmlSerializerSerialize メソッド渡します

メモメモ

空の名前空間プレフィックスペア作成サポートされません。つまり、次のコード使ってペア作成することはできません。

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

XmlSerializerNamespaces オブジェクト作成し、そのオブジェクトプレフィックス名前空間ペア2 つ追加する例を次に示します。この例では、次に XmlSerializerNamespacesSerialize メソッド渡し、このメソッドBooks オブジェクトXML ドキュメントシリアル化ます。Serialize メソッドは、XmlSerializerNamespaces オブジェクト使用して、各 XML 要素と属性2 つ名前空間いずれか修飾します。

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

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;
}

#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();
}
import System.*;
import System.IO.*;
import System.Xml.*;
import System.Xml.Serialization.*;

public class Run
{
    public static void main(String[]
 args)
    {
        Run test = new Run();
        test.SerializeObject("XmlNamespaces.xml");
    } //main

    public void SerializeObject(String filename)
    {
        XmlSerializer s = new XmlSerializer(Books.class.ToType());

        // 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 = Convert.ToDecimal(9.95);
        p.currency = "US Dollar";
        
        b.price = p;

        Books bks = new Books();
        bks.book = b;

        s.Serialize(t, bks, ns);
        t.Close();
    } //SerializeObject
} //Run

public class Books
{
    /** @attribute XmlElement(Namespace = "http://www.cohowinery.com")
     */
    public Book book;
} //Books

/** @attribute XmlType(Namespace = "http://www.cpandl.com")
 */
public class Book
{
    /** @attribute XmlElement(Namespace = "http://www.cpandl.com")
     */
    public String title;
    /** @attribute XmlElement(Namespace = "http://www.cohowinery.com")
     */
    public Price price;
} //Book

public class Price
{
    /** @attribute XmlAttribute(Namespace = "http://www.cpandl.com")
     */
    public String currency;
    /** @attribute XmlElement(Namespace = "http://www.cohowinery.com")
     */
    public System.Decimal price;
} //Price
継承階層継承階層
System.Object
  System.Xml.Serialization.XmlSerializerNamespaces
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

XmlSerializerNamespaces コンストラクタ ()

XmlSerializerNamespaces クラス新しインスタンス初期化します。

名前空間: System.Xml.Serialization
アセンブリ: System.Xml (system.xml.dll 内)
構文構文

Dim instance As New XmlSerializerNamespaces
public XmlSerializerNamespaces ()
public:
XmlSerializerNamespaces ()
public XmlSerializerNamespaces ()
public function XmlSerializerNamespaces ()
使用例使用例

XmlSerializerNamespaces クラスインスタンス作成し、そのオブジェクトプリフィックス名前空間ペア追加する例を次に示します

Private Sub CreateBook(filename As
 String)
   Try
      ' Create instance of XmlSerializerNamespaces and add the namespaces.
      Dim myNameSpaces As New
 XmlSerializerNamespaces()
      myNameSpaces.Add("BookName", "http://www.cpandl.com")

      ' Create instance of XmlSerializer and specify the type of object;
      ' to be serialized.
      Dim mySerializerObject As New
 XmlSerializer(GetType(MyBook))

      Dim myWriter = New StreamWriter(filename)
      ' Create object to be serialized.
      Dim myXMLBook As New
 MyBook()

      myXMLBook.Author = "XMLAuthor"
      myXMLBook.BookName = "DIG THE XML"
      myXMLBook.Description = "This is a XML Book"

      Dim myBookPrice As New
 MyPriceClass()
      myBookPrice.Price = CDec(45.89)
      myBookPrice.Units = "$"
      myXMLBook.BookPrice = myBookPrice

      ' Serialize the object.
      mySerializerObject.Serialize(myWriter, myXMLBook, myNameSpaces)
      myWriter.Close()
   Catch e As Exception
      Console.WriteLine("Exception :" & e.Message
 & "Occured")
   End Try
End Sub
private void CreateBook(string
 filename)
{
   try
   {
      // Create instance of XmlSerializerNamespaces and add the namespaces.
      XmlSerializerNamespaces myNameSpaces = new XmlSerializerNamespaces();
      myNameSpaces.Add("BookName", "http://www.cpandl.com");
   
      // Create instance of XmlSerializer and specify the type of object
      // to be serialized.
      XmlSerializer mySerializerObject = 
         new XmlSerializer(typeof(MyBook));

      TextWriter myWriter = new StreamWriter(filename);
      // Create object to be serialized.
      MyBook myXMLBook = new MyBook();
   
      myXMLBook.Author = "XMLAuthor";
      myXMLBook.BookName = "DIG THE XML";
      myXMLBook.Description = "This is a XML Book";

      MyPriceClass myBookPrice = new MyPriceClass();
      myBookPrice.Price = (decimal) 45.89;
      myBookPrice.Units = "$";
      myXMLBook.BookPrice = myBookPrice;

      // Serialize the object.
      mySerializerObject.Serialize(myWriter, myXMLBook,myNameSpaces);
      myWriter.Close();
   }
   catch(Exception e)
   {
      Console.WriteLine("Exception :" + e.Message + "Occured");
   }
}
public:
   void CreateBook( String^ filename )
   {
      try
      {
         // Create instance of XmlSerializerNamespaces and add the namespaces.
         XmlSerializerNamespaces^ myNameSpaces = gcnew XmlSerializerNamespaces;
         myNameSpaces->Add( "BookName", "http://www.cpandl.com"
 );
         
         // Create instance of XmlSerializer and specify the type of
 object
         // to be serialized.
         XmlSerializer^ mySerializerObject =
            gcnew XmlSerializer( MyBook::typeid );

         TextWriter^ myWriter = gcnew StreamWriter( filename );
         // Create object to be serialized.
         MyBook^ myXMLBook = gcnew MyBook;

         myXMLBook->Author = "XMLAuthor";
         myXMLBook->BookName = "DIG THE XML";
         myXMLBook->Description = "This is a XML Book";

         MyPriceClass^ myBookPrice = gcnew MyPriceClass;
         myBookPrice->Price = (Decimal)45.89;
         myBookPrice->Units = "$";
         myXMLBook->BookPrice = myBookPrice;
         
         // Serialize the object.
         mySerializerObject->Serialize( myWriter, myXMLBook, myNameSpaces );
         myWriter->Close();
      }
      catch ( Exception^ e ) 
      {
         Console::WriteLine( "Exception: {0} occured", e->Message );
      }
   }
private void CreateBook(String fileName)
{
    try {
        // Create instance of XmlSerializerNamespaces and add the namespaces.
        XmlSerializerNamespaces myNameSpaces = new XmlSerializerNamespaces();
        myNameSpaces.Add("bookName", "http://www.cpandl.com");
        // Create instance of XmlSerializer and specify the type of
 object
        // to be serialized.
        XmlSerializer mySerializerObject = new XmlSerializer(
            MyBook.class.ToType());

        TextWriter myWriter = new StreamWriter(fileName);
        // Create object to be serialized.
        MyBook myXMLBook = new MyBook();

        myXMLBook.author = "XMLauthor";
        myXMLBook.bookName = "DIG THE XML";
        myXMLBook.description = "This is a XML Book";

        MyPriceClass mybookPrice = new MyPriceClass();
        mybookPrice.price = System.Convert.ToDecimal(45.89);
        mybookPrice.units = "$";
        myXMLBook.bookPrice = mybookPrice;
        // Serialize the object.
        mySerializerObject.Serialize(myWriter, myXMLBook, myNameSpaces);
        myWriter.Close();
    }
    catch (System.Exception e) {
        Console.WriteLine("Exception :" + e.get_Message() + "Occured");
    }
} //CreateBook
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
XmlSerializerNamespaces クラス
XmlSerializerNamespaces メンバ
System.Xml.Serialization 名前空間

XmlSerializerNamespaces コンストラクタ (XmlSerializerNamespaces)

プレフィックス名前空間ペアコレクション保持する XmlSerializerNamespacesインスタンス指定してXmlSerializerNamespaces クラス新しインスタンス初期化します。

名前空間: System.Xml.Serialization
アセンブリ: System.Xml (system.xml.dll 内)
構文構文

Public Sub New ( _
    namespaces As XmlSerializerNamespaces _
)
Dim namespaces As XmlSerializerNamespaces

Dim instance As New XmlSerializerNamespaces(namespaces)
public XmlSerializerNamespaces (
    XmlSerializerNamespaces namespaces
)
public:
XmlSerializerNamespaces (
    XmlSerializerNamespaces^ namespaces
)
public XmlSerializerNamespaces (
    XmlSerializerNamespaces namespaces
)
public function XmlSerializerNamespaces (
    namespaces : XmlSerializerNamespaces
)

パラメータ

namespaces

名前空間プレフィックスペア保持する XmlSerializerNamespaces のインスタンス

使用例使用例

2 つの XmlQualifiedName オブジェクト作成し、それらのオブジェクトから新しXmlSerializerNamespaces インスタンス作成する例を次に示します

Private Function CreateFromQNames() As
 XmlSerializerNamespaces
    Dim q1 As New XmlQualifiedName("money",
 "http://www.cohowinery.com")
    Dim q2 As New XmlQualifiedName("books",
 "http://www.cpandl.com")
    
    Dim names() As XmlQualifiedName =  {q1,
 q2}
    
    Return New XmlSerializerNamespaces(names)
End Function

private XmlSerializerNamespaces CreateFromQNames()
{
   XmlQualifiedName q1 = 
   new XmlQualifiedName("money", "http://www.cohowinery.com");
        
   XmlQualifiedName q2 = 
   new XmlQualifiedName("books", "http://www.cpandl.com");
        
   XmlQualifiedName[] names = {q1, q2};

   return new XmlSerializerNamespaces(names);
}

private:
   XmlSerializerNamespaces^ CreateFromQNames()
   {
      XmlQualifiedName^ q1 =
         gcnew XmlQualifiedName( "money","http://www.cohowinery.com"
 );

      XmlQualifiedName^ q2 =
         gcnew XmlQualifiedName( "books","http://www.cpandl.com"
 );

      array<XmlQualifiedName^>^ names = { q1, q2 };

      return gcnew XmlSerializerNamespaces( names );
   }
private XmlSerializerNamespaces CreateFromQNames()
{
    XmlQualifiedName q1 =
        new XmlQualifiedName("money", "http://www.cohowinery.com");
    XmlQualifiedName q2 =
        new XmlQualifiedName("books", "http://www.cpandl.com");
    XmlQualifiedName names[] =  { q1, q2 };
    return new XmlSerializerNamespaces(names);
} //CreateFromQNames
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
XmlSerializerNamespaces クラス
XmlSerializerNamespaces メンバ
System.Xml.Serialization 名前空間

XmlSerializerNamespaces コンストラクタ (XmlQualifiedName[])

XmlSerializerNamespaces クラス新しインスタンス初期化します。

名前空間: System.Xml.Serialization
アセンブリ: System.Xml (system.xml.dll 内)
構文構文

Public Sub New ( _
    namespaces As XmlQualifiedName() _
)
Dim namespaces As XmlQualifiedName()

Dim instance As New XmlSerializerNamespaces(namespaces)
public XmlSerializerNamespaces (
    XmlQualifiedName[] namespaces
)
public:
XmlSerializerNamespaces (
    array<XmlQualifiedName^>^ namespaces
)
public XmlSerializerNamespaces (
    XmlQualifiedName[] namespaces
)
public function XmlSerializerNamespaces (
    namespaces : XmlQualifiedName[]
)

パラメータ

namespaces

XmlQualifiedName オブジェクト配列

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
XmlSerializerNamespaces クラス
XmlSerializerNamespaces メンバ
System.Xml.Serialization 名前空間

XmlSerializerNamespaces コンストラクタ

XmlSerializerNamespaces クラス新しインスタンス初期化します。
オーバーロードの一覧オーバーロードの一覧

名前 説明
XmlSerializerNamespaces () XmlSerializerNamespaces クラス新しインスタンス初期化します。

.NET Compact Framework によってサポートされています。

XmlSerializerNamespaces (XmlQualifiedName[]) XmlSerializerNamespaces クラス新しインスタンス初期化します。

.NET Compact Framework によってサポートされています。

XmlSerializerNamespaces (XmlSerializerNamespaces) プレフィックス名前空間ペアコレクション保持する XmlSerializerNamespacesインスタンス指定してXmlSerializerNamespaces クラス新しインスタンス初期化します。

.NET Compact Framework によってサポートされています。

参照参照

関連項目

XmlSerializerNamespaces クラス
XmlSerializerNamespaces メンバ
System.Xml.Serialization 名前空間

XmlSerializerNamespaces プロパティ


XmlSerializerNamespaces メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
参照参照

関連項目

XmlSerializerNamespaces クラス
System.Xml.Serialization 名前空間
XmlAttributes クラス

その他の技術情報

XML シリアル化概要
方法 : XML ストリーム代替要素名を指定する
属性使用した XML シリアル化制御
XML シリアル化の例
XML スキーマ定義ツール (Xsd.exe)

XmlSerializerNamespaces メンバ

XmlSerializer が XML ドキュメント インスタンス修飾名を生成するために使用する XML 名前空間プリフィックス格納されています。

XmlSerializerNamespaces データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド XmlSerializerNamespaces オーバーロードされます。 XmlSerializerNamespaces クラス新しインスタンス初期化します。
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
参照参照

関連項目

XmlSerializerNamespaces クラス
System.Xml.Serialization 名前空間
XmlAttributes クラス

その他の技術情報

XML シリアル化概要
方法 : XML ストリーム代替要素名を指定する
属性使用した XML シリアル化制御
XML シリアル化の例
XML スキーマ定義ツール (Xsd.exe)



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「XmlSerializerNamespaces」の関連用語

XmlSerializerNamespacesのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



XmlSerializerNamespacesのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS