當前位置: 首頁>>代碼示例>>C#>>正文


C# XmlSchemaComplexContentRestriction類代碼示例

本文整理匯總了C#中System.Xml.Schema.XmlSchemaComplexContentRestriction的典型用法代碼示例。如果您正苦於以下問題:C# XmlSchemaComplexContentRestriction類的具體用法?C# XmlSchemaComplexContentRestriction怎麽用?C# XmlSchemaComplexContentRestriction使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


XmlSchemaComplexContentRestriction類屬於System.Xml.Schema命名空間,在下文中一共展示了XmlSchemaComplexContentRestriction類的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: Main

//引入命名空間
using System;
using System.Xml;
using System.Xml.Schema;

class XMLSchemaExamples
{
    public static void Main()
    {

        XmlSchema schema = new XmlSchema();

        // <xs:complexType name="phoneNumber">
        XmlSchemaComplexType phoneNumber = new XmlSchemaComplexType();
        phoneNumber.Name = "phoneNumber";

        // <xs:sequence>
        XmlSchemaSequence phoneNumberSequence = new XmlSchemaSequence();

        // <xs:element name="areaCode"/>
        XmlSchemaElement areaCode1 = new XmlSchemaElement();
        areaCode1.MinOccurs = 0;
        areaCode1.MaxOccursString = "1";
        areaCode1.Name = "areaCode";
        phoneNumberSequence.Items.Add(areaCode1);

        // <xs:element name="prefix"/>
        XmlSchemaElement prefix1 = new XmlSchemaElement();
        prefix1.MinOccurs = 1;
        prefix1.MaxOccursString = "1";
        prefix1.Name = "prefix";
        phoneNumberSequence.Items.Add(prefix1);

        // <xs:element name="number"/>
        XmlSchemaElement number1 = new XmlSchemaElement();
        number1.MinOccurs = 1;
        number1.MaxOccursString = "1";
        number1.Name = "number";
        phoneNumberSequence.Items.Add(number1);

        phoneNumber.Particle = phoneNumberSequence;

        schema.Items.Add(phoneNumber);

        // <xs:complexType name="localPhoneNumber">
        XmlSchemaComplexType localPhoneNumber = new XmlSchemaComplexType();
        localPhoneNumber.Name = "localPhoneNumber";

        // <xs:complexContent>
        XmlSchemaComplexContent complexContent = new XmlSchemaComplexContent();

        // <xs:restriction base="phoneNumber">
        XmlSchemaComplexContentRestriction restriction = new XmlSchemaComplexContentRestriction();
        restriction.BaseTypeName = new XmlQualifiedName("phoneNumber", "");

        // <xs:sequence>
        XmlSchemaSequence sequence2 = new XmlSchemaSequence();

        // <xs:element name="areaCode" minOccurs="0"/>
        XmlSchemaElement areaCode2 = new XmlSchemaElement();
        areaCode2.MinOccurs = 0;
        areaCode2.MaxOccursString = "1";
        areaCode2.Name = "areaCode";
        sequence2.Items.Add(areaCode2);

        // <xs:element name="prefix"/>
        XmlSchemaElement prefix2 = new XmlSchemaElement();
        prefix2.MinOccurs = 1;
        prefix2.MaxOccursString = "1";
        prefix2.Name = "prefix";
        sequence2.Items.Add(prefix2);

        // <xs:element name="number"/>
        XmlSchemaElement number2 = new XmlSchemaElement();
        number2.MinOccurs = 1;
        number2.MaxOccursString = "1";
        number2.Name = "number";
        sequence2.Items.Add(number2);

        restriction.Particle = sequence2;
        complexContent.Content = restriction;
        localPhoneNumber.ContentModel = complexContent;

        schema.Items.Add(localPhoneNumber);

        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);
    }
}
開發者ID:.NET開發者,項目名稱:System.Xml.Schema,代碼行數:107,代碼來源:XmlSchemaComplexContentRestriction


注:本文中的System.Xml.Schema.XmlSchemaComplexContentRestriction類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。