XmlArrayItemAttribute.DataType プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > XmlArrayItemAttribute.DataType プロパティの意味・解説 

XmlArrayItemAttribute.DataType プロパティ

生成されXML 要素XML データ型取得または設定します

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

解説解説

XML スキーマ単純データ型と、それに相当する .NET データ型の表を次に示します

XML スキーマ base64Binary データ型XML スキーマ hexBinary データ型場合は、Byte オブジェクト配列使用しDataType プロパティデータ型に応じて "base64Binary" または "hexBinary" に設定されている XmlArrayItemAttribute を適用します。XML スキーマtime データ型および date データ型については、DateTime 型を使用してDataType が "date" または "time" に設定されている XmlArrayItemAttribute適用します。

文字列割り当てられすべての XML スキーマ型について、DataType プロパティXML スキーマ型に設定されている XmlArrayItemAttribute適用します。ただし、これで変更されるのはメンバスキーマだけであり、シリアル化形式変更されません。

メモメモ

プロパティは、大文字小文字区別します。このため、各 XML スキーマ データ型正確に設定する必要があります

メモメモ

バイナリ データXML 要素として渡すほうが、バイナリ データXML 属性として渡すよりも効率的です。

XML スキーマ データ型詳細については、World Wide Web Consortium (www.w3.org) のドキュメントXML Schema Part 2: DataTypes』を参照してください

XSD データ型

.NET データ型

anyURI

String

base64Binary

Byte オブジェクト配列

boolean

Boolean

byte

SByte

date

DateTime

dateTime

DateTime

decimal

Decimal

double

Double

ENTITY

String

ENTITIES

String

float

Single

gDay

String

gMonth

String

gMonthDay

String

gYear

String

gYearMonth

String

hexBinary

Byte オブジェクト配列

ID

String

IDREF

String

IDREFS

String

int

Int32

integer

String

language

String

long

Int64

Name

String

NCName

String

negativeInteger

String

NMTOKEN

String

NMTOKENS

String

normalizedString

String

nonNegativeInteger

String

nonPositiveInteger

String

NOTATION

String

positiveInteger

String

QName

XmlQualifiedName

duration

String

string

String

short

Int16

time

DateTime

token

String

unsignedByte

Byte

unsignedInt

UInt32

unsignedLong

UInt64

unsignedShort

UInt16

使用例使用例

PurchaseOrder というクラスシリアル化する例を次に示しますXmlArrayItemAttribute クラスいくつかのインスタンス3 つのメンバ適用され、各インスタンスDataType プロパティ配列設定できる型に設定されます。

Imports System
Imports System.Collections
Imports System.Xml
Imports System.Xml.Serialization
Imports System.IO
Imports System.Xml.Schema
Public Class PurchaseOrder
   <XmlArrayItem(DataType:= "gMonth", _
   ElementName:="MyMonths", _
   Namespace:= "http:'www.cohowinery.com")>
 _
   public Months() As String
 

   <XmlArrayItem(GetType(Item)), XmlArrayItem(GetType(NewItem))>
 _
   public Items () As Item

   <XmlArray(IsNullable:= true), _
   XmlArrayItem(GetType(String)), _
   XmlArrayItem(GetType(double)), _
   XmlArrayItem(GetType(NewItem))> _
   public Things() As Object
End Class

Public Class Item
   public ItemID As String
 

   public Sub New()
   End Sub
   
   public Sub New (id As
 String)
       ItemID = id
   End Sub
End Class

Public Class NewItem
   Inherits Item
   public Category As String
 
   
   public Sub New()
      
   End Sub

   public Sub New(id As
 String , cat As String
 )
       me.ItemID = id
       Category = cat
   End Sub
End Class
 
Public Class Test
   Shared Sub Main()
      ' Read and write purchase orders.
      Dim t As Test = New
 Test()
      t.SerializeObject("ArrayItemExVB.xml")
      t.DeserializeObject("ArrayItemExVB.xml")
   End Sub 

   private Sub SerializeObject(filename As
 String)
      ' Create an instance of the XmlSerializer class
      ' specify the type of object to serialize.
      Dim serializer As XmlSerializer = _
      New XmlSerializer(GetType(PurchaseOrder))
      Dim writer As TextWriter = New
 StreamWriter(filename)
      ' Create a PurchaseOrder and set its properties.
      Dim po As PurchaseOrder =New PurchaseOrder()
      po.Months = New String() { "March",
 "May", "August"}
      po.Items= New Item(){New Item("a1"),
 New NewItem("b1", "book")}
      po.Things= New Object() {"String",
 2003.31, New NewItem("Item100",
 "book")}
      
      ' Serialize the purchase order, and close the TextWriter.
      serializer.Serialize(writer, po)
      writer.Close()
   End Sub
 
   protected Sub DeserializeObject(filename
 As String)
      ' Create an instance of the XmlSerializer class
      ' specify the type of object to be deserialized.
      Dim serializer As XmlSerializer = _
      New XmlSerializer(GetType(PurchaseOrder))
   
      ' A FileStream is needed to read the XML document.
      Dim fs As FileStream = New
 FileStream(filename, FileMode.Open)
      ' Declare an object variable of the type to be deserialized.
      Dim po As PurchaseOrder 
      ' Use the Deserialize method to restore the object's state with
      ' data from the XML document. 
      po = CType( serializer.Deserialize(fs), PurchaseOrder)
      Dim s As String
      Dim i As Item
      Dim thing As Object
      for each s in po.Months
            Console.WriteLine(s)
      Next 
      
      for each i in po.Items
         Console.WriteLine(i.ItemID)
      Next 
      
      for each thing in
 po.Things
         Console.WriteLine(thing) 
      Next
   End Sub
End Class


using System;
using System.Collections;
using System.Xml;
using System.Xml.Serialization;
using System.IO;
using System.Xml.Schema;
public class PurchaseOrder
{
   [XmlArrayItem(DataType = "gMonth", 
   ElementName="MyMonths",
   Namespace = "http://www.cohowinery.com")]
   public string[] Months;

   [XmlArrayItem(typeof(Item)), XmlArrayItem(typeof(NewItem))]
   public Item[] Items;

   [XmlArray(IsNullable = true)]
   [XmlArrayItem(typeof(string)), 
   XmlArrayItem(typeof(double)), 
   XmlArrayItem(typeof(NewItem))]
   public object[] Things;
   }

public class Item{
   public string ItemID;
   public Item(){}
   public Item(string id){
       ItemID = id;
   }
}
public class NewItem:Item{
   public string Category;
   public NewItem(){}
   public NewItem(string id, string
 cat){
       this.ItemID = id;
       Category = cat;
       }
}
 
public class Test
{
   public static void Main()
   {
      // Read and write purchase orders.
      Test t = new Test();
      t.SerializeObject("ArrayItemEx.xml");
      t.DeserializeObject("ArrayItemEx.xml");
   } 

   private void SerializeObject(string
 filename)
   {
      // Create an instance of the XmlSerializer class;
      // specify the type of object to serialize.
      XmlSerializer serializer = 
      new XmlSerializer(typeof(PurchaseOrder));
      TextWriter writer = new StreamWriter(filename);
      // Create a PurchaseOrder and set its properties.
      PurchaseOrder po=new PurchaseOrder();
      po.Months = new string[]{ "March",
 "May", "August"};
      po.Items= new Item[]{new Item("a1"),
 new NewItem("b1", "book")};
      po.Things= new object[] {"String", 2003.31, new
 NewItem("Item100", "book")};
      
      // Serialize the purchase order, and close the TextWriter.
      serializer.Serialize(writer, po);
      writer.Close();
   }
 
   protected void DeserializeObject(string
 filename)
   {
      // Create an instance of the XmlSerializer class;
      // specify the type of object to be deserialized.
      XmlSerializer serializer = new XmlSerializer(typeof(PurchaseOrder));
   
      // A FileStream is needed to read the XML document.
      FileStream fs = new FileStream(filename, FileMode.Open);
      // Declare an object variable of the type to be deserialized.
      PurchaseOrder po;
      /* Use the Deserialize method to restore the object's state with
      data from the XML document. */
      po = (PurchaseOrder) serializer.Deserialize(fs);
      foreach(string s in
 po.Months)
            Console.WriteLine(s);
      foreach(Item i in po.Items)
         Console.WriteLine(i.ItemID);
      foreach(object thing in po.Things)
         Console.WriteLine(thing); 
   } 
}

#using <System.dll>
#using <System.xml.dll>

using namespace System;
using namespace System::Collections;
using namespace System::Xml;
using namespace System::Xml::Serialization;
using namespace System::IO;
using namespace System::Xml::Schema;
public ref class Item
{
public:
   String^ ItemID;
   Item(){}

   Item( String^ id )
   {
      ItemID = id;
   }
};

public ref class NewItem: public
 Item
{
public:
   String^ Category;
   NewItem(){}

   NewItem( String^ id, String^ cat )
   {
      ItemID = id;
      Category = cat;
   }
};

public ref class PurchaseOrder
{
public:

   [XmlArrayItem(DataType="gMonth",
   ElementName="MyMonths",
   Namespace="http://www.cohowinery.com")]
   array<String^>^Months;

   [XmlArrayItem(Item::typeid),XmlArrayItem(NewItem::typeid)]
   array<Item^>^Items;

   [XmlArray(IsNullable=true)]
   [XmlArrayItem(String::typeid),
   XmlArrayItem(Double::typeid),
   XmlArrayItem(NewItem::typeid)]
   array<Object^>^Things;
};

void SerializeObject( String^ filename )
{
   // Create an instance of the XmlSerializer class;
   // specify the type of object to serialize.
   XmlSerializer^ serializer = gcnew XmlSerializer( PurchaseOrder::typeid );
   TextWriter^ writer = gcnew StreamWriter( filename );

   // Create a PurchaseOrder and set its properties.
   PurchaseOrder^ po = gcnew PurchaseOrder;
   array<String^>^months = {"March","May","August"};
   po->Months = months;
   array<Item^>^items = {gcnew Item( "a1" ),gcnew NewItem( "b1","book"
 )};
   po->Items = items;
   array<Object^>^things = {"String",2003.31,gcnew NewItem( "Item100","book"
 )};
   po->Things = things;

   // Serialize the purchase order, and close the TextWriter.
   serializer->Serialize( writer, po );
   writer->Close();
}

void DeserializeObject( String^ filename )
{
   // Create an instance of the XmlSerializer class;
   // specify the type of object to be deserialized.
   XmlSerializer^ serializer = gcnew XmlSerializer( PurchaseOrder::typeid );

   // A FileStream is needed to read the XML document.
   FileStream^ fs = gcnew FileStream( filename,FileMode::Open );

   // Declare an object variable of the type to be deserialized.
   PurchaseOrder^ po;

   /* Use the Deserialize method to restore the object's state with
      data from the XML document. */
   po = safe_cast<PurchaseOrder^>(serializer->Deserialize( fs ));
   for ( int i = 0; i < po->Months->Length;
 ++i )
      Console::WriteLine( po->Months[ i ] );
   for ( int i = 0; i < po->Items->Length;
 ++i )
      Console::WriteLine( po->Items[ i ]->ItemID );
   for ( int i = 0; i < po->Things->Length;
 ++i )
      Console::WriteLine( po->Things[ i ] );
}

int main()
{
   // Read and write purchase orders.
   SerializeObject(  "ArrayItemEx.xml" );
   DeserializeObject(  "ArrayItemEx.xml" );
}
import System.*;
import System.Collections.*;
import System.Xml.*;
import System.Xml.Serialization.*;
import System.IO.*;
import System.Xml.Schema.*;

public class PurchaseOrder
{
    /** @attribute XmlArrayItem(DataType = "gMonth", ElementName = 
        "Mymonths", Namespace = "http://www.cohowinery.com")
     */
    public String months[];

    /** @attribute XmlArrayItem(Item.class)
        @attribute XmlArrayItem(NewItem.class)
     */
    public Item items[];

    /** @attribute XmlArray(IsNullable = true)
     */
    /** @attribute XmlArrayItem(String.class)
        @attribute XmlArrayItem(double.class)
        @attribute XmlArrayItem(NewItem.class)
     */
    public Object things[];
} //PurchaseOrder

public class Item
{
    public String itemID;

    public Item()
    {
    } //Item

    public Item(String id)
    {
        itemID = id;
    } //Item
} //Item

public class NewItem extends Item
{
    public String category;

    public NewItem()
    {
    } //NewItem

    public NewItem(String id, String cat)
    {
        this.itemID = id;
        category = cat;
    } //NewItem
} //NewItem

public class Test
{
    public static void main(String[]
 args)
    {
        // Read and write purchase orders.
        Test t = new Test();
        t.SerializeObject("ArrayItemEx.xml");
        t.DeserializeObject("ArrayItemEx.xml");
    } //main

    private void SerializeObject(String fileName)
    {
        // Create an instance of the XmlSerializer class;
        // specify the type of object to serialize.
        XmlSerializer serializer = new XmlSerializer(
            PurchaseOrder.class.ToType());
        TextWriter writer = new StreamWriter(fileName);
        // Create a PurchaseOrder and set its properties.
        PurchaseOrder po = new PurchaseOrder();
        po.months = new String[] { "March", "May",
 "August" };
        po.items = (new Item[] { new Item("a1"),
 new NewItem("b1", "book") });
        po.things = new Object[] {
            "String", (System.Double)2003.31, new NewItem("Item100",
 "book")
        };
        // Serialize the purchase order, and close the TextWriter.
        serializer.Serialize(writer, po);
        writer.Close();
    } //SerializeObject

    protected void DeserializeObject(String
 fileName)
    {
        // Create an instance of the XmlSerializer class;
        // specify the type of object to be deserialized.
        XmlSerializer serializer = new XmlSerializer(
            PurchaseOrder.class.ToType());
        // A FileStream is needed to read the XML document.
        FileStream fs = new FileStream(fileName, FileMode.Open);
        // Declare an object variable of the type to be deserialized.
        PurchaseOrder po;

        /* Use the Deserialize method to restore the object's state with
           data from the XML document. 
         */
        po = (PurchaseOrder)serializer.Deserialize(fs);
        for (int iCtr = 0; iCtr < po.months.get_Length();
 iCtr++) {
            String s = po.months[iCtr];
            Console.WriteLine(s);
        }
        for (int iCtr = 0; iCtr < po.items.get_Length();
 iCtr++) {
            Item i = po.items[iCtr];
            Console.WriteLine(i.itemID);
        }

        for (int iCtr = 0; iCtr < po.things.get_Length();
 iCtr++) {
            Object thing = po.things[iCtr];
            Console.WriteLine(thing);
        }
    } //DeserializeObject
} //Test
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
XmlArrayItemAttribute クラス
XmlArrayItemAttribute メンバ
System.Xml.Serialization 名前空間



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

辞書ショートカット

すべての辞書の索引

XmlArrayItemAttribute.DataType プロパティのお隣キーワード
検索ランキング

   

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



XmlArrayItemAttribute.DataType プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS