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

<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>

<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”属性右边的单元格,并选择“http://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 设计器”添加、编辑和移除元素。

创建带有关联的 XML 架构的 XML 文件 从 XML 文件创建 XML 架构相关推荐

  1. xml文件打开_利用XML的力量来打开Financial Exchange文件

    xml文件打开 我的银行为我作为财务程序员和簿记员提供了非常有用的服务:我可以下载一个小文件,其中列出了在规定的时间段内我的一个帐户中的交易. 该文件包含帐户名称和号码: 是支票,储蓄或其他帐户类型: ...

  2. DCMTK:将DICOM文件的内容转换为XML格式

    DCMTK:将DICOM文件的内容转换为XML格式 将DICOM文件的内容转换为XML格式 将DICOM文件的内容转换为XML格式 #include "dcmtk/config/osconf ...

  3. xml怎么转换html文件,xml转换成html文件方法

    xml转换成html文件方法 /// < summary> ///将xml转化为html /// < /summary> /// < param name="x ...

  4. DBLP数据集用weka数据挖掘 xml转csv格式文件

    DBLP数据集用weka数据挖掘 xml转csv格式文件 写在前面 xml转csv格式文件 数据预处理 weka数据挖掘 写在前面 之前做了中国科学院大学的一门研讨课<数据挖掘技术与应用> ...

  5. IDEA右键快捷创建Xml文件模板 IDEA如何创建xml文件 Spring boot项目xml配置类模板

    可扩展标记语言,标准通用标记语言的子集,简称XML.是一种用于标记电子文件使其具有结构性的标记语言. 在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如 ...

  6. xml工具生成工具_研究当前的XML工具

    xml工具生成工具 常用缩略语 API:应用程序编程接口 DITA:达尔文信息键入体系结构 DTD:文档类型定义 HTML:超文本标记语言 IDE:集成开发环境 URL:统一资源定位符 W3C:万维网 ...

  7. 实验10:创建带有生命周期方法的bean ||实验11:测试bean的后置处理器

    实验10:创建带有生命周期方法的bean 实验11:测试bean的后置处理器 MyBeanPostProcessor.java package com.atguigu.bean;import org. ...

  8. python3 xml 取标签显示内容_如何应用“XML+XSLT”技术分离Web表示层数据和样式

    软件项目实训及课程设计指导--如何应用XML+XSLT技术分离Web表示层数据和样式 1."XML+XSLT"技术在J2EE技术平台中的应用 Java语言及相关的应用技术的产生解决 ...

  9. xml引入另一个xml文件_什么是XML文件(以及如何打开一个XML文件)?

    xml引入另一个xml文件 A file with the .xml file extension is an Extensible Markup Language (XML) file. These ...

最新文章

  1. 为什么Kubernetes的存储如此艰难?
  2. 开发者数量2025年预计破亿,GitHub最新年度报告来啦!
  3. 配置安装光盘为yum源
  4. php+防御+xss,PHP防御XSS攻击
  5. 推荐一个python学习的宝库(github的star数71000+)
  6. js基础练习---面向对象浅理解分析
  7. 3D版的TagView,效果很赞
  8. 二分——最大的最小值
  9. BF2 战地风云2常见问题解答
  10. [下载]Internet Explorer 9 预览版
  11. android真机模拟gps,使用命令模拟更改gps位置
  12. springboot配置文件yml格式
  13. C语言蓝桥杯刷题:等差素数列
  14. 研究背景与文献综述的区别是什么?
  15. 开奖及送福利|周日晚八点,红包雨任性下
  16. 网页磁贴模板_【Win 10应用开发】Adaptive磁贴模板的XML文档结构
  17. 计算机cad运行缓慢怎样处理,AutoCAD运行卡顿怎么办-AutoCAD运行卡顿的解决方法 - 河东软件园...
  18. 【编程题】【Scratch一级】2022.03 飞翔的小猫
  19. 用云服务器架设好服务器显示无法连接
  20. php 开启opcode,php 开启 opcode 测试

热门文章

  1. 【网络流24题】试题库问题
  2. NS2网络模拟(3)-吞吐率
  3. 基于Chrome开源提取的界面开发框架 三
  4. InfluxDB 开源分布式时序、事件和指标数据库
  5. 图像技术在直播中怎么用
  6. 选择性模糊及其算法的实现。
  7. 使用TextRank算法为文本生成关键字和摘要
  8. HSV RGB颜色空间互转
  9. AVL树:解决BST可能导致的长链问题
  10. spring系统学习:day4--Spring配置: 集合类型属性的注入