XmlAttributes.XmlArray プロパティ
アセンブリ: System.Xml (system.xml.dll 内)

Dim instance As XmlAttributes Dim value As XmlArrayAttribute value = instance.XmlArray instance.XmlArray = value
public: property XmlArrayAttribute^ XmlArray { XmlArrayAttribute^ get (); void set (XmlArrayAttribute^ value); }
/** @property */ public XmlArrayAttribute get_XmlArray () /** @property */ public void set_XmlArray (XmlArrayAttribute value)
public function get XmlArray () : XmlArrayAttribute public function set XmlArray (value : XmlArrayAttribute)
配列を返すパブリック フィールドまたは読み書き可能プロパティを XmlSerializer でシリアル化する方法を指定する XmlArrayAttribute。

配列を返すパブリック フィールドまたは読み書き可能なパブリック プロパティを XmlSerializer でシリアル化する方法としては、既定のシリアル化、および制御されたシリアル化の 2 つの方法があります。
既定のシリアル化では、メンバに属性は適用されません。配列をシリアル化すると、XML 要素のシーケンスが入れ子となってシリアル化されます。入れ子になったシーケンスの XML 要素名は、メンバ名に基づいて付けられます。
シリアル化をさらに詳細に制御するには、フィールドまたはプロパティに XmlArrayAttribute を適用します。たとえば、生成される XML 要素名を既定の名前とは異なった名前にする場合は、ElementName プロパティを新しい値に設定します。
XmlArray プロパティによって、既定のシリアル化、およびメンバに XmlArrayAttribute を適用することによって制御されているシリアル化をオーバーライドできます。たとえば、既定のメンバ識別子の名前から生成された XML 要素名を新しい値に変更できます。また、メンバに XmlArrayAttribute を適用すると、XmlArray プロパティに割り当てられている XmlArrayAttribute によりオーバーライドされます。

オブジェクトの配列を返す Members という名前のフィールドを含むクラスをシリアル化する例を次に示します。XmlArrayAttribute を使用してフィールドのシリアル化をオーバーライドし、要素名を Staff に変更します。
Imports System Imports System.IO Imports System.Xml Imports System.Xml.Serialization ' This is the class that will be serialized. Public Class Group ' This field will be overridden. Public Members() As Member End Class Public Class Member Public MemberName As String End Class Public Class Run Public Shared Sub Main() Dim test As New Run() test.SerializeObject("OverrideArray.xml") test.DeserializeObject("OverrideArray.xml") End Sub ' Return an XmlSerializer used for overriding. Public Function CreateOverrider() As XmlSerializer ' Creating XmlAttributeOverrides and XmlAttributes objects. Dim xOver As New XmlAttributeOverrides() Dim xAttrs As New XmlAttributes() ' Add an override for the XmlArray. Dim xArray As New XmlArrayAttribute("Staff") xArray.Namespace = "http://www.cpandl.com" xAttrs.XmlArray = xArray xOver.Add(GetType(Group), "Members", xAttrs) ' Create the XmlSerializer and return it. Return New XmlSerializer(GetType(Group), xOver) End Function Public Sub SerializeObject(ByVal filename As String) ' Create an instance of the XmlSerializer class. Dim mySerializer As XmlSerializer = CreateOverrider() ' Writing the file requires a TextWriter. Dim writer As New StreamWriter(filename) ' Create an instance of the class that will be serialized. Dim myGroup As New Group() ' Set the object properties. Dim m As New Member() m.MemberName = "Paul" myGroup.Members = New Member(0) {m} ' Serialize the class, and close the TextWriter. mySerializer.Serialize(writer, myGroup) writer.Close() End Sub Public Sub DeserializeObject(ByVal filename As String) Dim mySerializer As XmlSerializer = CreateOverrider() Dim fs As New FileStream(filename, FileMode.Open) Dim myGroup As Group = CType(mySerializer.Deserialize(fs), Group) Dim m As Member For Each m In myGroup.Members Console.WriteLine(m.MemberName) Next m End Sub End Class
using System; using System.IO; using System.Xml; using System.Xml.Serialization; // This is the class that will be serialized. public class Group { // This field will be overridden. public Member [] Members; } public class Member { public string MemberName; } public class Run { public static void Main() { Run test = new Run(); test.SerializeObject("OverrideArray.xml"); test.DeserializeObject("OverrideArray.xml"); } // Return an XmlSerializer used for overriding. public XmlSerializer CreateOverrider() { // Creating XmlAttributeOverrides and XmlAttributes objects. XmlAttributeOverrides xOver = new XmlAttributeOverrides(); XmlAttributes xAttrs = new XmlAttributes(); // Add an override for the XmlArray. XmlArrayAttribute xArray = new XmlArrayAttribute("Staff"); xArray.Namespace = "http://www.cpandl.com"; xAttrs.XmlArray = xArray; xOver.Add(typeof(Group), "Members", xAttrs); // Create the XmlSerializer and return it. return new XmlSerializer(typeof(Group), xOver); } public void SerializeObject(string filename) { // Create an instance of the XmlSerializer class. XmlSerializer mySerializer = CreateOverrider(); // Writing the file requires a TextWriter. TextWriter writer = new StreamWriter(filename); // Create an instance of the class that will be serialized. Group myGroup = new Group(); // Set the object properties. Member m = new Member(); m.MemberName = "Paul"; myGroup.Members = new Member[1] {m}; // Serialize the class, and close the TextWriter. mySerializer.Serialize(writer, myGroup); writer.Close(); } public void DeserializeObject(string filename) { XmlSerializer mySerializer = CreateOverrider(); FileStream fs = new FileStream(filename, FileMode.Open); Group myGroup = (Group) mySerializer.Deserialize(fs); foreach(Member m in myGroup.Members) { Console.WriteLine(m.MemberName); } } }
#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 Member { public: String^ MemberName; }; // This is the class that will be serialized. public ref class Group { public: // This field will be overridden. array<Member^>^Members; }; // Return an XmlSerializer used for overriding. XmlSerializer^ CreateOverrider() { // Creating XmlAttributeOverrides and XmlAttributes objects. XmlAttributeOverrides^ xOver = gcnew XmlAttributeOverrides; XmlAttributes^ xAttrs = gcnew XmlAttributes; // Add an override for the XmlArray. XmlArrayAttribute^ xArray = gcnew XmlArrayAttribute( "Staff" ); xArray->Namespace = "http://www.cpandl.com"; xAttrs->XmlArray = xArray; xOver->Add( Group::typeid, "Members", xAttrs ); // Create the XmlSerializer and return it. return gcnew XmlSerializer( Group::typeid,xOver ); } void SerializeObject( String^ filename ) { // Create an instance of the XmlSerializer class. XmlSerializer^ mySerializer = CreateOverrider(); // Writing the file requires a TextWriter. TextWriter^ writer = gcnew StreamWriter( filename ); // Create an instance of the class that will be serialized. Group^ myGroup = gcnew Group; // Set the object properties. Member^ m = gcnew Member; m->MemberName = "Paul"; array<Member^>^temp = {m}; myGroup->Members = temp; // Serialize the class, and close the TextWriter. mySerializer->Serialize( writer, myGroup ); writer->Close(); } void DeserializeObject( String^ filename ) { XmlSerializer^ mySerializer = CreateOverrider(); FileStream^ fs = gcnew FileStream( filename,FileMode::Open ); Group^ myGroup = dynamic_cast<Group^>(mySerializer->Deserialize( fs )); System::Collections::IEnumerator^ myEnum = myGroup->Members->GetEnumerator(); while ( myEnum->MoveNext() ) { Member^ m = safe_cast<Member^>(myEnum->Current); Console::WriteLine( m->MemberName ); } } int main() { SerializeObject( "OverrideArray.xml" ); DeserializeObject( "OverrideArray.xml" ); }
import System.*; import System.IO.*; import System.Xml.*; import System.Xml.Serialization.*; // This is the class that will be serialized. public class Group { // This field will be overridden. public Member members[]; } //Group public class Member { public String memberName; } //Member public class Run { public static void main(String[] args) { Run test = new Run(); test.SerializeObject("OverrideArray.xml"); test.DeserializeObject("OverrideArray.xml"); } //main // Return an XmlSerializer used for overriding. public XmlSerializer CreateOverrider() { // Creating XmlAttributeOverrides and XmlAttributes objects. XmlAttributeOverrides xOver = new XmlAttributeOverrides(); XmlAttributes xAttrs = new XmlAttributes(); // Add an override for the XmlArray. XmlArrayAttribute xArray = new XmlArrayAttribute("Staff"); xArray.set_Namespace("http://www.cpandl.com"); xAttrs.set_XmlArray(xArray); xOver.Add(Group.class.ToType(), "Members", xAttrs); // Create the XmlSerializer and return it. return new XmlSerializer(Group.class.ToType(), xOver); } //CreateOverrider public void SerializeObject(String fileName) { // Create an instance of the XmlSerializer class. XmlSerializer mySerializer = CreateOverrider(); // Writing the file requires a TextWriter. TextWriter writer = new StreamWriter(fileName); // Create an instance of the class that will be serialized. Group myGroup = new Group(); // Set the object properties. Member m = new Member(); m.memberName = "Paul"; myGroup.members = new Member[] { m }; // Serialize the class, and close the TextWriter. mySerializer.Serialize(writer, myGroup); writer.Close(); } //SerializeObject public void DeserializeObject(String fileName) { XmlSerializer mySerializer = CreateOverrider(); FileStream fs = new FileStream(fileName, FileMode.Open); Group myGroup = (Group)mySerializer.Deserialize(fs); for (int iCtr = 0; iCtr < myGroup.members.length; iCtr++) { Member m = myGroup.members[iCtr]; Console.WriteLine(m.memberName); } } //DeserializeObject } //Run

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からXmlAttributes.XmlArray プロパティを検索する場合は、下記のリンクをクリックしてください。

- XmlAttributes.XmlArray プロパティのページへのリンク