.NET Framework 类库
XmlSchemaComplexType 类
表示 WWW 联合会 (W3C) 指定的 XML 架构中的 complexType 元素。此类定义一个复杂类型,它确定属性集和元素的内容。
命名空间:System.Xml.Schema
程序集:System.Xml(在 system.xml.dll 中)
语法
Visual Basic(声明)
Public Class XmlSchemaComplexType Inherits XmlSchemaType
Visual Basic(用法)
Dim instance As XmlSchemaComplexType
C#
public class XmlSchemaComplexType : XmlSchemaType
C++
public ref class XmlSchemaComplexType : public XmlSchemaType
J#
public class XmlSchemaComplexType extends XmlSchemaType
JScript
public class XmlSchemaComplexType extends XmlSchemaType
示例
下面的示例创建 complexType 元素。
Visual Basic
Imports System Imports System.Xml Imports System.Xml.Schema Class XMLSchemaExamples Public Shared Sub Main() Dim schema As New XmlSchema() ' <xs:element name="stringElementWithAnyAttribute"> Dim element As New XmlSchemaElement() schema.Items.Add(element) element.Name = "stringElementWithAnyAttribute" ' <xs:complexType> Dim complexType As New XmlSchemaComplexType() element.SchemaType = complexType ' <xs:simpleContent> Dim simpleContent As New XmlSchemaSimpleContent() complexType.ContentModel = simpleContent ' <extension base="xs:string"> Dim extension As New XmlSchemaSimpleContentExtension() simpleContent.Content = extension extension.BaseTypeName = New XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema") ' <xs:anyAttribute namespace="##targetNamespace"/> Dim anyAttribute As New XmlSchemaAnyAttribute() extension.AnyAttribute = anyAttribute anyAttribute.Namespace = "##targetNamespace" Dim schemaSet As New XmlSchemaSet() AddHandler schemaSet.ValidationEventHandler, AddressOf ValidationCallbackOne schemaSet.Add(schema) schemaSet.Compile() Dim compiledSchema As XmlSchema = Nothing For Each schema1 As XmlSchema In schemaSet.Schemas() compiledSchema = schema1 Next Dim nsmgr As New XmlNamespaceManager(New NameTable()) nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema") compiledSchema.Write(Console.Out, nsmgr) End Sub Public Shared Sub ValidationCallbackOne(ByVal sender As Object, ByVal args As ValidationEventArgs) Console.WriteLine(args.Message) End Sub End Class
C#
using System; using System.Xml; using System.Xml.Schema; class XMLSchemaExamples { public static void Main() { XmlSchema schema = new XmlSchema(); // <xs:element name="stringElementWithAnyAttribute"> XmlSchemaElement element = new XmlSchemaElement(); schema.Items.Add(element); element.Name = "stringElementWithAnyAttribute"; // <xs:complexType> XmlSchemaComplexType complexType = new XmlSchemaComplexType(); element.SchemaType = complexType; // <xs:simpleContent> XmlSchemaSimpleContent simpleContent = new XmlSchemaSimpleContent(); complexType.ContentModel = simpleContent; // <extension base= "xs:string"> XmlSchemaSimpleContentExtension extension = new XmlSchemaSimpleContentExtension(); simpleContent.Content = extension; extension.BaseTypeName = new XmlQualifiedName("string", "http://www.w3.org/2001/XMLSchema"); // <xs:anyAttribute namespace="##targetNamespace"/> XmlSchemaAnyAttribute anyAttribute = new XmlSchemaAnyAttribute(); extension.AnyAttribute = anyAttribute; anyAttribute.Namespace = "##targetNamespace"; XmlSchemaSet schemaSet = new XmlSchemaSet(); schemaSet.ValidationEventHandler += new ValidationEventHandler(ValidationCallbackOne); schemaSet.Add(schema); schemaSet.Compile(); XmlSchema compiledSchema = null; foreach (XmlSchema schema1 in schemaSet.Schemas()) { compiledSchema = schema1; } XmlNamespaceManager nsmgr = new XmlNamespaceManager(new NameTable()); nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema"); compiledSchema.Write(Console.Out, nsmgr); } public static void ValidationCallbackOne(object sender, ValidationEventArgs args) { Console.WriteLine(args.Message); } }
下面的 XML 文件用于前面的代码示例。
<?xml version="1.0" encoding="IBM437"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="stringElementWithAnyAttribute"> <xs:complexType> <xs:simpleContent> <xs:extension base="xs:string"> <xs:anyAttribute namespace="##targetNamespace"/> </xs:extension> </xs:simpleContent> </xs:complexType> </xs:element> </xs:schema>
继承层次结构
System.Object
System.Xml.Schema.XmlSchemaObject
System.Xml.Schema.XmlSchemaAnnotated
System.Xml.Schema.XmlSchemaType
System.Xml.Schema.XmlSchemaComplexType
System.Xml.Schema.XmlSchemaObject
System.Xml.Schema.XmlSchemaAnnotated
System.Xml.Schema.XmlSchemaType
System.Xml.Schema.XmlSchemaComplexType
平台
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 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求。