首页 > 语言 > 关键词  > xml教程最新资讯  > 正文

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

2008-09-05 14:59 · 稿源:互联网

一、创建带有关联的 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="https://www.knowsky.com/\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="https://www.knowsky.com/\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 视图,应在根级别架构标记中看到下列代码(这意味着该代码示例既不包括框架的实际声明部分,也不包括称为根或文档级别标记的实际架构标记):

<xs:simpleType name="postalCode">

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

<xs:pattern value="https://www.knowsky.com/\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>

<xs:element name="Customer">

<xs:complexType>

<xs:sequence>

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

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

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

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

<xs:element name="ShipToAddress" type="usAddress" />

<xs:element name="BillToAddress" type="usAddress" />

</xs:sequence>

</xs:complexType>

</xs:element>

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

7、为了在 XML 文档内允许客户数据的多个实例,我们将创建名为 customerList 的元素,该元素将包含所有单独的 customer 元素。

创建 customerList 元素 从“工具箱”的“XML 架构”选项卡中将一个“element”拖到设计图面上。 选择默认名称“element1”,然后将其重命名为“customerList”。不要为此元素选择数据类型。 选择 customer 元素(以前创建的)并将其拖到 customerList 元素上。 单独的设计窗格进行绑定以表示数据的分层结构。 从“文件”菜单中选择“全部保存”。

8、将架构和 XML 文件相关联

创建 XML 文件和 XML 架构之间的关联 在“解决方案资源管理器”中,双击“CustomerList.xml”文件。该 XML 文件在设计器的 XML 视图中打开。 在“属性”窗口中,单击“targetSchema”属性右边的单元格,并选择“https://tempuri.org/CustomerListSchema.xsd”。

Visual Studio 在 CustomerList.xml 文件中添加对架构的引用,并添加 <customerList> 标记。

向 XML 文件添加数据

9、现在可以向 XML 文件添加数据了。通过将架构与 XML 文件关联,XML 编辑器现在知道可包括在 XML 文件中的有效元素,并在数据视图中提供格式化的网格。

向 customerList.xml 文件添加数据 ,在处于 XML 视图的“customerList.xml”文件中,将光标定位在开始和结束 <customerList> 标记(开始标记 = <customerList>,结束标记 = </customerList>)之间。

键入 <。选择 Customer 元素。

键入 > 以结束该标记。

键入 <,并从有效元素列表中选择 CompanyName。

键入 > 以结束该标记。

键入 Blue Yonder Airlines 作为公司名。

切换到“数据”视图。 在网格中的“联系人姓名”字段中键入 Nate Sun。 通过在网格中的其他字段中添加数据来填写记录。 切回到“XML”视图。 网格中的数据现在正确格式化为 XML。

二、从 XML 文件创建 XML 架构

基于现有 XML 文档创建新的 XML 架构

1、将一个 XML 文档(.xml 文件)加载到“XML 设计器”中。

2、从“XML”菜单单击“创建架构”。

3、将向当前项目添加一个 XML 架构(.xsd 文件),它具有与原始 XML 文件相同的名称。

4、将新创建的 XML 架构(.xsd 文件)加载到“XML 设计器”中。

5、验证和编辑创建架构时分配的数据类型。

注意 当从现有 XML 文档推导架构时,所有数据类型开始都设置为 string,因此您必须根据 XML 数据的内容要求编辑数据类型。

如果需要对架构进行更改,可以使用“XML 设计器”添加、编辑和移除元素。

https://www.cnblogs.com/xh831213/archive/2006/09/14/503944.html

举报

  • 相关推荐
  • 谭章熹博士出席 RISC-V 中国峰会 详解开源架构全球征程与中国机遇

    2025年7月16日,第五届RISC-V中国峰会在上海张江科学会堂举行。作为中国大陆规格最高、规模最大的RISC-V专业会展,峰会吸引了全球专家与产业领袖参与。RISC-V国际基金会董事谭章熹博士发表主题演讲,回顾了RISC-V从伯克利起步到全球发展的历程,强调其开源、免费、无专利限制的特性推动了技术创新和生态繁荣。他指出,RISC-V基础指令集仅40余条,结构简洁但高度模块化,适用于从嵌入式设备到高性能计算领域。中国正积极建设RISC-V生态,预计2030年中国高性能RISC-V芯片市场规模将达2000-3000亿元,占全球20%-30%。谭博士表示,RISC-V发展重心正向AI加速、数据中心等高性能场景迈进,将与x86、ARM展开竞争,成为数字时代承载国家技术主权与产业升级的重要基础。

  • 增量计算掀架构革命:云器定义新标准,Flink高成本遇挑战

    云器科技提出"通用增量计算"技术,解决大数据处理痛点。相比传统流计算框架Flink,该技术采用"按需增量"模式,仅计算数据变化部分,在保证分钟级时效的同时大幅降低资源消耗。云器还制定了行业首个增量计算标准SPOT,推动技术生态发展。该技术已在小红书等企业应用,实现流批一体化开发,支持标准SQL语法,开发效率提升显著。增量计算代表数据处理第四范式革命,为中小企业数字化转型提供新可能。

  • VB.NET实现图象文件和XML文件互换

    通过.NET 框架下的FromBase64String和ToBase64String方法可以很容易地实现图象文件和XML文件的互换。这样可以轻易解决以XML格式保存图片的问题。

  • 简单的XML操作:XML文件创建

    简单的XML操作:XML文件创建 把下面的代码复制到按钮事件中编译执行后可在相应物理路径中产生Pos.xml文件 以下为引用的内容: XmlTextWriter xtw = new XmlTextWriter(Request.PhysicalApplicationPath + "Pos.xml",System

  • XSL是一种转化思想用于将XML文档转化为可输出的文档

    XSL即可扩展的样式单语言,它比CSS样式单得功能更强。它的主要用途就是将XML文档转换成HTML格式的文件,然后再交付给浏览器,由浏览器显示转化的结果。

  • 分析ASP.NET读取XML文件4种方法

    分析ASP.NET读取XML文件4种方法,使用XML控件,使用DOM技术,使用DataSet对象。

  • XML之父:SoLoMo让我们未来的生活“游戏化”

    在IT界,超过30岁还在从事着编码工作是非常糟糕的,而我已经55岁了。但从另一个角度看,年龄却又成为了我另一个优势。我见证了个人电脑带来的巨变,致使技术人员可以掌控计算机能力,我们称之为“数以千万劳动力的跃进”。

  • 优化原生 XML 数据库的 6 个技巧

    RSS、Atom、mashup、高级搜索要求和其他发展正使得原生 XML 数据库成为搜索应用程序和服务的一个重要组成部分。XML 数据库类型的优势在于擅长高效地在大量半结构化(semi-structured)的数据中进行搜索。在本文中,您将发现一些用于最大化使用 XQuery 和 XML 数据库的应

  • ASP.NET创建XML Web服务全接触

    XML Web服务基础结构创建在使用遵循一个公布的服务描述的基于XML的消息的通信的基础上。服务描述是一个使用WSDL语言的XML语法编写的XML文档,定义了XML Web服务能理解的XML Web服务消息格式。

  • 使用带批注的 XDR 架构创建 XML 视图

    使用带批注的 XDR 架构创建 XML 视图 ,阅读使用带批注的 XDR 架构创建 XML 视图 ,可以使用 XDR(简化 XML-Data)架构创建关系数据的 XML 视图。然后可以使用 XPath 查询来查询这些视图。这类似于使用 CREATE VIEW 语句创建视图并指定对视图的 SQL 查询。 XML 架构描述 X