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

Dim instance As XmlArrayAttribute Dim value As XmlSchemaForm value = instance.Form instance.Form = value
/** @property */ public XmlSchemaForm get_Form () /** @property */ public void set_Form (XmlSchemaForm value)
XmlSchemaForm 値の 1 つ。既定値は XmlSchemaForm.None です。

Form プロパティは、XML 要素名が限定されているかいないかを判断します。Form プロパティは、W3C (World Wide Web Consortium) のサイト (www.w3.org) で参照できる 1999 年のドキュメント『Namespaces in XML』に準拠しています。
Namespace プロパティに任意の値が設定されている場合は、Form プロパティを XmlSchemaForm.Unqualified に設定しようとすると例外がスローされます。
既定の設定 XmlSchemaForm.None は、XmlSerializer に対し、名前空間が限定されているかどうかを判断するために XML ドキュメントのスキーマを調べるように指示します。スキーマが個別の要素または属性に値を指定しない場合、XmlSerializer は elementFormDefault 値および attributeFormDefault 値を使用して、要素または属性が限定されているかどうかを判断します。次の XML コードはスキーマを示しています。
<schema elementFormDefault="qualified" attributeFormDefault="unqualified"... > <element name="Name"/> <attribute name="Number"/> </schema>
XmlSerializer がスキーマを読み取ると、Name と Number の両方の Form 値は XmlSchemaForm.None になります。ただし、Name 要素は修飾されますが、Number 要素は修飾されません。

Enterprises クラスのインスタンスをシリアル化する例を次に示します。2 つの XML 要素のローカル名が同一 (Company) ですが、プリフィックスは異なっています。この例では、Form プロパティが XmlForm.Qualified に設定され、XML インスタンスで限定名が発生するようにします。
Imports System Imports System.IO Imports System.Xml Imports System.Xml.Schema Imports System.Xml.Serialization Public Class Enterprises Private mywineries() As Winery Private mycompanies() As VacationCompany ' Sets the Form property to qualified, and specifies the Namespace. <XmlArray(Form := XmlSchemaForm.Qualified, _ ElementName := "Company", _ Namespace := "http://www.cohowinery.com")> _ Public Property Wineries() As Winery() Get Return mywineries End Get Set mywineries = value End Set End Property <XmlArray(Form := XmlSchemaForm.Qualified, _ ElementName := "Company", _ Namespace := "http://www.treyresearch.com")> _ Public Property Companies() As VacationCompany() Get Return mycompanies End Get Set mycompanies = value End Set End Property End Class 'Enterprises Public Class Winery Public Name As String End Class 'Winery Public Class VacationCompany Public Name As String End Class 'VacationCompany Public Class Run Public Shared Sub Main() Dim test As New Run() test.WriteEnterprises("MyEnterprises.xml") End Sub 'Main Public Sub WriteEnterprises(filename As String) ' Creates an instance of the XmlSerializer class. Dim mySerializer As New XmlSerializer(GetType(Enterprises)) ' Writing a file requires a TextWriter. Dim writer As New StreamWriter(filename) ' Creates an instance of the XmlSerializerNamespaces class. Dim ns As New XmlSerializerNamespaces() ' Adds namespaces and prefixes for the XML document instance. ns.Add("winery", "http://www.cohowinery.com") ns.Add("vacationCompany", "http://www.treyresearch.com") ' Creates an instance of the class that will be serialized. Dim myEnterprises As New Enterprises() ' Creates objects and adds to the array. Dim w1 As New Winery() w1.Name = "cohowinery" Dim myWinery(0) As Winery myWinery(0) = w1 myEnterprises.Wineries = myWinery Dim com1 As New VacationCompany() com1.Name = "adventure-works" Dim myCompany(0) As VacationCompany myCompany(0) = com1 myEnterprises.Companies = myCompany ' Serializes the class, and closes the TextWriter. mySerializer.Serialize(writer, myEnterprises, ns) writer.Close() End Sub 'WriteEnterprises Public Sub ReadEnterprises(filename As String) Dim mySerializer As New XmlSerializer(GetType(Enterprises)) Dim fs As New FileStream(filename, FileMode.Open) Dim myEnterprises As Enterprises = CType(mySerializer.Deserialize(fs), Enterprises) Dim i As Integer For i = 0 To myEnterprises.Wineries.Length - 1 Console.WriteLine(myEnterprises.Wineries(i).Name) Next i For i = 0 To myEnterprises.Companies.Length - 1 Console.WriteLine(myEnterprises.Companies(i).Name) Next i End Sub 'ReadEnterprises End Class 'Run
using System; using System.IO; using System.Xml; using System.Xml.Schema; using System.Xml.Serialization; public class Enterprises { private Winery[] wineries; private VacationCompany[] companies; // Sets the Form property to qualified, and specifies the namespace. [XmlArray(Form = XmlSchemaForm.Qualified, ElementName="Company", Namespace="http://www.cohowinery.com")] public Winery[] Wineries{ get{return wineries;} set{wineries = value;} } [XmlArray(Form = XmlSchemaForm.Qualified, ElementName = "Company", Namespace = "http://www.treyresearch.com")] public VacationCompany [] Companies{ get{return companies;} set{companies = value;} } } public class Winery { public string Name; } public class VacationCompany{ public string Name; } public class Run { public static void Main() { Run test = new Run(); test.WriteEnterprises("MyEnterprises.xml"); } public void WriteEnterprises(string filename) { // Creates an instance of the XmlSerializer class. XmlSerializer mySerializer = new XmlSerializer(typeof(Enterprises)); // Writing file requires a TextWriter. TextWriter writer = new StreamWriter(filename); // Creates an instance of the XmlSerializerNamespaces class. XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); // Adds namespaces and prefixes for the XML document instance. ns.Add("winery", "http://www.cohowinery.com"); ns.Add("vacationCompany", "http://www.treyresearch.com"); // Creates an instance of the class that will be serialized. Enterprises myEnterprises = new Enterprises(); // Creates objects and adds to the array. Winery w1= new Winery(); w1.Name = "cohowinery"; Winery[]myWinery = {w1}; myEnterprises.Wineries = myWinery; VacationCompany com1 = new VacationCompany(); com1.Name = "adventure-works"; VacationCompany[] myCompany = {com1}; myEnterprises.Companies = myCompany; // Serializes the class, and closes the TextWriter. mySerializer.Serialize(writer, myEnterprises, ns); writer.Close(); } public void ReadEnterprises(string filename) { XmlSerializer mySerializer = new XmlSerializer(typeof(Enterprises)); FileStream fs = new FileStream(filename, FileMode.Open); Enterprises myEnterprises = (Enterprises) mySerializer.Deserialize(fs); for(int i = 0; i < myEnterprises.Wineries.Length;i++) { Console.WriteLine(myEnterprises.Wineries[i].Name); } for(int i = 0; i < myEnterprises.Companies.Length;i++) { Console.WriteLine(myEnterprises.Companies[i].Name); } } }
#using <System.Xml.dll> #using <System.dll> using namespace System; using namespace System::IO; using namespace System::Xml; using namespace System::Xml::Schema; using namespace System::Xml::Serialization; public ref class Winery { public: String^ Name; }; public ref class VacationCompany { public: String^ Name; }; public ref class Enterprises { private: array<Winery^>^wineries; array<VacationCompany^>^companies; public: // Sets the Form property to qualified, and specifies the namespace. [XmlArray(Form=XmlSchemaForm::Qualified,ElementName="Company", Namespace="http://www.cohowinery.com")] property array<Winery^>^ Wineries { array<Winery^>^ get() { return wineries; } void set( array<Winery^>^value ) { wineries = value; } } [XmlArray(Form=XmlSchemaForm::Qualified,ElementName="Company", Namespace="http://www.treyresearch.com")] property array<VacationCompany^>^ Companies { array<VacationCompany^>^ get() { return companies; } void set( array<VacationCompany^>^value ) { companies = value; } } }; int main() { String^ filename = "MyEnterprises.xml"; // Creates an instance of the XmlSerializer class. XmlSerializer^ mySerializer = gcnew XmlSerializer( Enterprises::typeid ); // Writing file requires a TextWriter. TextWriter^ writer = gcnew StreamWriter( filename ); // Creates an instance of the XmlSerializerNamespaces class. XmlSerializerNamespaces^ ns = gcnew XmlSerializerNamespaces; // Adds namespaces and prefixes for the XML document instance. ns->Add( "winery", "http://www.cohowinery.com" ); ns->Add( "vacationCompany", "http://www.treyresearch.com" ); // Creates an instance of the class that will be serialized. Enterprises^ myEnterprises = gcnew Enterprises; // Creates objects and adds to the array. Winery^ w1 = gcnew Winery; w1->Name = "cohowinery"; array<Winery^>^myWinery = {w1}; myEnterprises->Wineries = myWinery; VacationCompany^ com1 = gcnew VacationCompany; com1->Name = "adventure-works"; array<VacationCompany^>^myCompany = {com1}; myEnterprises->Companies = myCompany; // Serializes the class, and closes the TextWriter. mySerializer->Serialize( writer, myEnterprises, ns ); writer->Close(); } void ReadEnterprises( String^ filename ) { XmlSerializer^ mySerializer = gcnew XmlSerializer( Enterprises::typeid ); FileStream^ fs = gcnew FileStream( filename,FileMode::Open ); Enterprises^ myEnterprises = dynamic_cast<Enterprises^>(mySerializer->Deserialize( fs )); for ( int i = 0; i < myEnterprises->Wineries->Length; i++ ) { Console::WriteLine( myEnterprises->Wineries[ i ]->Name ); } for ( int i = 0; i < myEnterprises->Companies->Length; i++ ) { Console::WriteLine( myEnterprises->Companies[ i ]->Name ); } }
import System.*; import System.IO.*; import System.Xml.*; import System.Xml.Schema.*; import System.Xml.Serialization.*; public class Enterprises { private Winery wineries[]; private VacationCompany companies[]; // Sets the Form property to qualified, and specifies the namespace. /** @attribute XmlArray(Form = XmlSchemaForm.Qualified, ElementName = "Company", Namespace = "http://www.cohowinery.com") */ /** @property */ public Winery[] get_Wineries() { return wineries; } //get_Wineries /** @property */ public void set_Wineries(Winery value[]) { wineries = value; } //set_Wineries /** @attribute XmlArray(Form = XmlSchemaForm.Qualified, ElementName = "Company", Namespace = "http://www.treyresearch.com") */ /** @property */ public VacationCompany[] get_Companies() { return companies; } //get_Companies /** @property */ public void set_Companies(VacationCompany value[]) { companies = value; } //set_Companies } //Enterprises public class Winery { public String name; } //Winery public class VacationCompany { public String name; } //VacationCompany public class Run { public static void main(String[] args) { Run test = new Run(); test.WriteEnterprises("MyEnterprises.xml"); } //main public void WriteEnterprises(String fileName) { // Creates an instance of the XmlSerializer class. XmlSerializer mySerializer = new XmlSerializer(Enterprises.class.ToType()); // Writing file requires a TextWriter. TextWriter writer = new StreamWriter(fileName); // Creates an instance of the XmlSerializerNamespaces class. XmlSerializerNamespaces ns = new XmlSerializerNamespaces(); // Adds namespaces and prefixes for the XML document instance. ns.Add("winery", "http://www.cohowinery.com"); ns.Add("vacationCompany", "http://www.treyresearch.com"); // Creates an instance of the class that will be serialized. Enterprises myEnterprises = new Enterprises(); // Creates objects and adds to the array. Winery w1 = new Winery(); w1.name = "cohowinery"; Winery myWinery[] = { w1 }; myEnterprises.set_Wineries(myWinery); VacationCompany com1 = new VacationCompany(); com1.name = "adventure-works"; VacationCompany myCompany[] = { com1 }; myEnterprises.set_Companies(myCompany); // Serializes the class, and closes the TextWriter. mySerializer.Serialize(writer, myEnterprises, ns); writer.Close(); } //WriteEnterprises public void ReadEnterprises(String fileName) { XmlSerializer mySerializer = new XmlSerializer(Enterprises.class.ToType()); FileStream fs = new FileStream(fileName, FileMode.Open); Enterprises myEnterprises = (Enterprises)(mySerializer.Deserialize(fs)); for (int i = 0; i < myEnterprises.get_Wineries().length; i++) { Console.WriteLine(((Winery)myEnterprises.get_Wineries(). get_Item(i)).name); } for (int i = 0; i < myEnterprises.get_Companies().length; i++) { Console.WriteLine(((VacationCompany)myEnterprises.get_Companies(). get_Item(i)).name); } } //ReadEnterprises } //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に収録されているすべての辞書からXmlArrayAttribute.Form プロパティを検索する場合は、下記のリンクをクリックしてください。

- XmlArrayAttribute.Form プロパティのページへのリンク