创建带有关联的 XML 架构的 XML 文件

2008-02-23 05:50:48来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

一、创建带有关联的 XML 架构的 XML 文件
1、创建新的 Windows 应用程序项目

首先需要在 Visual Basic 或 Visual C# 中创建新的 Windows 应用程序。创建一个新项目并将其命名为“XMLCustomerList” ,从“文件”菜单中指向“新建”,然后单击“项目”以显示“新建项目”对话框。 根据要使用的语言,在“项目类型”窗格中选择“Visual Basic 项目”或“Visual C# 项目”,然后选择“Windows 应用程序”。 将项目命名为“XMLCustomerList”,然后单击“确定”以创建该项目。

2、Visual Studio 会将 XMLCustomerList 项目添加到解决方案资源管理器。

向项目添加新的 XML 文件项 ,从“项目”菜单中选择“添加新项”。将出现“添加新项”对话框。从“添加新项”对话框的“模板”区域选择“XML 文件”。将 XML 文件命名为“CustomerList”,然后单击“打开”。

3、向项目添加新的 XML 架构项

向项目添加新的 XML 架构项 ,从“项目”菜单中选择“添加新项”。 出现“添加新项”对话框。 从“添加新项”对话框的“模板”区域选择“XML 架构”。 将架构命名为“CustomerListSchema”,然后单击“打开”。

4、向架构添加简单类型定义

创建表示 5 位邮政编码的简单类型元素

从“工具箱”的“XML 架构”选项卡中,将一个“simpleType”拖到设计图面上。选择默认名称“simpleType1”,并将该类型重命名为“postalCode”。使用 TAB 键定位到右侧的下一个单元格,并从下拉列表中选择“positiveInteger”。使用 TAB 键定位到下一行。

单击下拉框。唯一的选项是 facet。这是因为简单类型不能包含元素或属性作为其内容模型的组成部分。只有 facet 可以用于生成简单类型。使用 TAB 键定位到右侧的下一个单元格,并从下拉列表中选择“pattern”。再次使用 TAB 键定位到右侧的下一个单元格,并键入“\d{5}”。

模式 facet 使您可以输入正则表达式。正则表达式 \d{5} 表示“邮政编码”(postalCode) 类型的内容限制为 5 位。正则表达式超出了本演练的范围,但您可看到如何与所选数据类型一起使用模式 facet 以便在简单类型中只允许特定数据。

如果将架构切换到 XML 视图,应在根级别架构标记中看到下列代码(这意味着该代码示例既不包括框架的实际声明部分,也不包括称为根或文档级别标记的实际架构标记):

<xs:simpleType name="postalCode">

<xs:restriction base="xs:positiveInteger">

<xs:pattern value="\d{5}" />

</xs:restriction>

</xs:simpleType>

从“文件”菜单中选择“全部保存”。

5、向架构添加复杂类型定义

创建表示标准美国地址的复杂类型元素

切换到“架构”视图。从“工具箱”的“XML 架构”选项卡中,将一个“complexType”拖到设计图面上。选择默认名称“complexType1”,然后将该类型重命名为“usAddress”。不要为此元素选择数据类型。使用 TAB 键定位到下一行。单击下拉列表框,将看到可以添加到复杂类型的多个元素选项。可选择元素,但对于本演练的其余部分,您将只是用 TAB 键跳过该单元格,因为元素是默认设置。使用 TAB 键定位到右侧的下一个单元格,并键入“Name”。

使用 TAB 键定位到右侧的下一个单元格,并将数据类型设置为 string。 重复在 usAddress 元素中为以下项创建新行:

元素名称
数据类型

Street
string

City
string

State
string

Zip
postalCode

请注意分配给“邮政编码”(Zip) 元素的数据类型。它是您以前创建的 postalCode 简单类型。

如果切换到 XML 视图,应在根级别架构标记中看到下列代码(这意味着该代码示例既不包括架构的实际声明部分,也不包括称为根或文档级别标记的实际架构标记):

<xs:simpleType name="postalCode">

<xs:restriction base="xs:positiveInteger">

<xs:pattern value="\d{5}" />

</xs:restriction>

</xs:simpleType>

<xs:complexType name="usAddress">

<xs:sequence>

<xs:element name="Name" type="xs:string" />

<xs:element name="Street" type="xs:string" />

<xs:element name="City" type="xs:string" />

<xs:element name="State" type="xs:string" />

<xs:element name="Zip" type="postalCode" />

</xs:sequence>

</xs:complexType>

现在您已定义了两个单独类型,它们可用于元素定义以及类型。从“文件”菜单中选择“全部保存”。将主元素添加到架构

6、在定义了一些数据类型后,可为将创建的 XML 文件构造实际数据定义。该 XML 文件将包含客户列表的数据,因此请创建定义将在 XML 文件中有效的数据的实际元素。

创建 Customer 元素

切换到“架构”视图。从“工具箱”的“XML 架构”选项卡中将一个“element”拖到设计图面上。 选择默认名称“element1”,然后将它重命名为“customer”。不要为此元素选择数据类型。使用 TAB 键定位到下一行的中心单元格,并键入“CompanyName”。 使用 TAB 键定位到右侧的下一个单元格,并将数据类型设置为 string。 重复在 Customer 元素中为下列项创建新行:

元素名称
数据类型

ContactName
string

Email
string

Phone
string

BillToAddress
usAddress

ShipToAddress
usAddress

请注意分配给“帐单地址”(BillToAddress) 元素以及“发货地址”(ShipToAddress) 元素的数据类型。它是以前创建的 usAddress 复杂类型。我们可能已经为“电子邮件”(Email)、“电话号码”(Phone) 元素等定义了简单类型。

如果将架构切换到 XML 视图,应在根级别架构标记中看到下列代码(这意味着该代码示例既不包括框架的实际声明部分,也不包括称为根或文档级别标记的实际架构标记):

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Xml_javascript分页

下一篇:XPath 11个实例