XmlArrayAttribute クラスの新しいインスタンスを初期化し、XML ドキュメント インスタンスに生成される XML 要素名を指定します。
名前空間: System.Xml.Serialization
アセンブリ: System.Xml (system.xml.dll 内)
構文
'宣言
Public Sub New ( _
elementName As String _
)
'使用
Dim elementName As String
Dim instance As New XmlArrayAttribute(elementName)
public XmlArrayAttribute (
string elementName
)
public:
XmlArrayAttribute (
String^ elementName
)
public XmlArrayAttribute (
String elementName
)
public function XmlArrayAttribute (
elementName : String
)
パラメータ
- elementName
XmlSerializer が生成する XML 要素の名前。
解説
属性の使用方法については、「属性を使用したメタデータの拡張」を参照してください。
使用例
XmlArrayAttribute を 2 つの配列に代入し、これらの配列を含むクラス インスタンスをシリアル化する例を次に示します。
Option Explicit
Option Strict
Imports System
Imports System.IO
Imports System.Xml
Imports System.Xml.Serialization
Public Class MyClass1
<XmlArrayAttribute("MyStrings")> _
Public MyStringArray() As String
<XmlArrayAttribute(ElementName := "MyIntegers")> _
Public MyIntegerArray() As Integer
End Class
Public Class Run
Public Shared Sub Main()
Dim test As New Run()
test.SerializeObject("MyClass.xml")
End Sub
Public Sub SerializeObject(ByVal filename As String)
' Creates a new instance of the XmlSerializer class.
Dim s As New XmlSerializer(GetType(MyClass1))
' Needed a StreamWriter to write the file.
Dim myWriter As New StreamWriter(filename)
Dim class1 As New MyClass1()
' Creates and populates a string array, then assigns
' it to the MyStringArray property.
Dim myStrings() As String = {"Hello", "World", "!"}
class1.MyStringArray = myStrings
' Creates and populates an integer array, and assigns
' it to the MyIntegerArray property.
Dim myIntegers() As Integer = {1, 2, 3}
class1.MyIntegerArray = myIntegers
' Serializes the class, and writes it to disk.
s.Serialize(myWriter, class1)
myWriter.Close()
End Sub
End Class
using System;
using System.IO;
using System.Xml;
using System.Xml.Serialization;
public class MyClass{
[XmlArrayAttribute("MyStrings")]
public string [] MyStringArray;
[XmlArrayAttribute(ElementName = "MyIntegers")]
public int [] MyIntegerArray;
}
public class Run{
public static void Main()
{
Run test = new Run();
test.SerializeObject("MyClass.xml");
}
public void SerializeObject(string filename)
{
// Creates a new instance of the XmlSerializer class.
XmlSerializer s = new XmlSerializer(typeof(MyClass));
// Needs a StreamWriter to write the file.
TextWriter myWriter= new StreamWriter(filename);
MyClass myClass = new MyClass();
// Creates and populates a string array, then assigns
// it to the MyStringArray property.
string [] myStrings = {"Hello", "World", "!"};
myClass.MyStringArray = myStrings;
/* Creates and populates an integer array, and assigns
it to the MyIntegerArray property. */
int [] myIntegers = {1,2,3};
myClass.MyIntegerArray = myIntegers;
// Serializes the class, and writes it to disk.
s.Serialize(myWriter, myClass);
myWriter.Close();
}
}
#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 MyClass
{
public:
[XmlArrayAttribute("MyStrings")]
array<String^>^MyStringArray;
[XmlArrayAttribute(ElementName="MyIntegers")]
array<Int32>^MyIntegerArray;
};
int main()
{
String^ filename = "MyClass.xml";
// Creates a new instance of the XmlSerializer class.
XmlSerializer^ s = gcnew XmlSerializer( MyClass::typeid );
// Needs a StreamWriter to write the file.
TextWriter^ myWriter = gcnew StreamWriter( filename );
MyClass^ myClass = gcnew MyClass;
// Creates and populates a string array, then assigns
// it to the MyStringArray property.
array<String^>^myStrings = {"Hello","World","!"};
myClass->MyStringArray = myStrings;
/* Creates and populates an integer array, and assigns
it to the MyIntegerArray property. */
array<Int32>^myIntegers = {1,2,3};
myClass->MyIntegerArray = myIntegers;
// Serializes the class, and writes it to disk.
s->Serialize( myWriter, myClass );
myWriter->Close();
}
import System.*;
import System.IO.*;
import System.Xml.*;
import System.Xml.Serialization.*;
public class MyClass
{
/** @attribute XmlArrayAttribute("MyStrings")
*/
public String myStringArray[];
/** @attribute XmlArrayAttribute(ElementName = "MyIntegers")
*/
public int myIntegerArray[];
} //MyClass
public class Run
{
public static void main(String[] args)
{
Run test = new Run();
test.SerializeObject("MyClass.xml");
} //main
public void SerializeObject(String fileName)
{
// Creates a new instance of the XmlSerializer class.
XmlSerializer s = new XmlSerializer(MyClass.class.ToType());
// Needs a StreamWriter to write the file.
TextWriter myWriter = new StreamWriter(fileName);
MyClass myClass = new MyClass();
// Creates and populates a string array, then assigns
// it to the MyStringArray property.
String myStrings[] = { "Hello", "World", "!" };
myClass.myStringArray = myStrings;
/* Creates and populates an integer array, and assigns
it to the MyIntegerArray property.
*/
int myIntegers[] = { 1, 2, 3 };
myClass.myIntegerArray = myIntegers;
// Serializes the class, and writes it to disk.
s.Serialize(myWriter, myClass);
myWriter.Close();
} //SerializeObject
} //Run
<?xml version="1.0"?>
<MyClass1 xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<MyStrings>
<string>Hello</string>
<string>World</string>
<string>!</string>
</MyStrings>
<MyIntegers>
<int>1</int>
<int>2</int>
<int>3</int>
</MyIntegers>
</MyClass1>
プラットフォーム
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
.NET Framework
サポート対象 : 2.0、1.1、1.0
.NET Compact Framework
サポート対象 : 2.0、1.0
参照
関連項目
XmlArrayAttribute クラス
XmlArrayAttribute メンバ
System.Xml.Serialization 名前空間
XmlArrayItemAttribute
XmlSerializer