次の方法で共有


XmlArrayItemAttribute.Form プロパティ

生成された XML 要素名が限定されているかどうかを示す値を取得または設定します。

Public Property Form As XmlSchemaForm
[C#]
public XmlSchemaForm Form {get; set;}
[C++]
public: __property XmlSchemaForm get_Form();public: __property void set_Form(XmlSchemaForm);
[JScript]
public function get Form() : XmlSchemaForm;public function set Form(XmlSchemaForm);

プロパティ値

XmlSchemaForm 値の 1 つ。既定値は XmlSchemaForm.None です。

例外

例外の種類 条件
Exception Form プロパティが XmlSchemaForm.Unqualified に設定され、 Namespace 値が指定されています。

解説

Form プロパティは、World Wide Web Consortium (www.w3.org) による仕様『Namespaces in XML』に基づいて、XML 要素名が限定されているかどうかを判断します。

Namespace プロパティに任意の値が設定されている場合は、 Form プロパティを XmlSchemaForm.Unqualified に設定しようとすると例外がスローされます。

既定値 XmlSchemaForm.None では、 XmlSerializer に対して、XML ドキュメントのスキーマを調べて名前空間が限定されているかどうかを判断するように指示します。要素については、 XmlSerializer がスキーマ要素属性 elementFormDefault の値をチェックします。属性については、スキーマ要素属性 attributeFormDefault がチェックされます。たとえば、 Name 要素が限定されており、 Number 要素が限定されていないことを示す XML スキーマの例を次に示します。

<schema elementFormDefault="qualified" 
attributeFormDefault="unqualified">
   <element name="Name"/>
   <attribute name="Number"/>
</schema>

使用例

[Visual Basic, C#, C++] Vehicle クラスの Form プロパティを XmlSchemaForm.Unqualified に設定し、 Car クラスの Form プロパティを XmlSchemaForm.Qualified に設定する例を次に示します。

 
Public Class Transportation
    ' Specify the Form property value.
    <XmlArray("Vehicles"), _
     XmlArrayItem(GetType(Vehicle), Form := XmlSchemaForm.Unqualified), _
     XmlArrayItem(GetType(Car), Form := XmlSchemaForm.Qualified)> _
    Public MyVehicles() As Vehicle
End Class

Public Class Vehicle
    Public id As String
End Class

Public Class Car
    Inherits Vehicle
    Public Maker As String
End Class


[C#] 
public class Transportation
{  
   [XmlArray("Vehicles")]
   // Specifies the Form property value.
   [XmlArrayItem(typeof(Vehicle), 
   Form = XmlSchemaForm.Unqualified), 
   XmlArrayItem(typeof(Car), 
   Form = XmlSchemaForm.Qualified)]
   public Vehicle[] MyVehicles;
}

public class Vehicle
{
   public string id;
}

public class Car:Vehicle
{
   public string Maker;
}


[C++] 
public __gc class Vehicle
{
public:
   String* id;
};

public __gc class Car: public Vehicle
{
public:
   String* Maker;
};

public __gc class Transportation
{  
public:
   [XmlArray(S"Vehicles")]
   // Specifies the Form property value.
   [XmlArrayItem(__typeof(Vehicle), 
   Form = XmlSchemaForm::Unqualified), 
   XmlArrayItem(__typeof(Car), 
   Form = XmlSchemaForm::Qualified)]
   Vehicle* MyVehicles[];
};

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

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