通过


XmlAttributeAttribute.Form 属性

定义

获取或设置一个值,该值指示是否限定由 XmlSerializer XML 属性名称生成。

public:
 property System::Xml::Schema::XmlSchemaForm Form { System::Xml::Schema::XmlSchemaForm get(); void set(System::Xml::Schema::XmlSchemaForm value); };
public System.Xml.Schema.XmlSchemaForm Form { get; set; }
member this.Form : System.Xml.Schema.XmlSchemaForm with get, set
Public Property Form As XmlSchemaForm

属性值

其中一个 XmlSchemaForm 值。 默认值为 XmlForm.None

示例

以下示例将应用于 XmlAttributeAttribute 类中包含的两个字段。

public class Vehicle
{
   [XmlAttribute(Form = XmlSchemaForm.Qualified)]
   public string Maker;

   [XmlAttribute(Form = XmlSchemaForm.Unqualified)]
   public string ModelID;
}
Public Class Vehicle
    <XmlAttribute(Form := XmlSchemaForm.Qualified)> _
    Public Maker As String    

    <XmlAttribute(Form := XmlSchemaForm.Unqualified)> _
    Public ModelID As String
End Class

注解

Form 属性确定 XML 元素是限定还是未限定。 该 Form 属性符合 1999 http://www.w3.org 规范 Namespaces in XML

Namespace如果该属性设置为任何值,则尝试将属性XmlSchemaForm.Unqualified设置为Form引发异常。

默认设置 XmlSchemaForm.None指示 XmlSerializer 检查 XML 文档的架构以确定命名空间是否限定。 如果架构未为单个元素或属性指定值, XmlSerializer 则使用 elementFormDefaultattributeFormDefault 值来确定元素或属性是否限定。 以下 XML 代码显示架构:

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

XmlSerializer当读取架构时,Form两者Name的值都是NumberXmlSchemaForm.None,但Name元素是限定的,而Number元素不限定。

适用于