首頁  >  文章  >  後端開發  >  建立具有關聯的 XML 架構的 XML 檔案 && 從 XML 檔案建立 XML 架構

建立具有關聯的 XML 架構的 XML 檔案 && 從 XML 檔案建立 XML 架構

黄舟
黄舟原創
2017-02-28 16:48:231908瀏覽

一、建立具有關聯的 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>
   
      
         
         
         
         
         
      
   

現在您已定義了兩個單獨類型,它們可用於元素定義以及類型。從“檔案”選單中選擇“全部儲存”。將主元素加入架構

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>
   
      
         
         
         
         
         
      
   
   
      
         
            
            
            
            
            
            
         
      
   

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

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 文件中添加对架构的引用,并添加 65c8c2eba47d45b28d58e9d8e0b9e199 标记。

向 XML 文件添加数据

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

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

键入 324a962f09dd6b0985768c5e5f4ac231 以结束该标记。

键入 b5158a8b4f627cc43a00e3df6a0c2a42 以结束该标记。

键入 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 架构的内容,更多相关内容请关注PHP中文网(www.php.cn)!


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:XPath 11個實例下一篇:XPath 11個實例