首頁 後端開發 XML/RSS教程 建立具有關聯的 XML 架構的 XML 檔案 && 從 XML 檔案建立 XML 架構

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

Feb 28, 2017 pm 04:48 PM

一、建立具有關聯的 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 文件中添加对架构的引用,并添加 标记。

向 XML 文件添加数据

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

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

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


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

深度學習架構的比較分析 深度學習架構的比較分析 May 17, 2023 pm 04:34 PM

深度學習的概念源自於人工神經網路的研究,含有多個隱藏層的多層感知器是一種深度學習結構。深度學習透過組合低層特徵形成更抽象的高層表示,以表徵資料的類別或特徵。它能夠發現資料的分佈式特徵表示。深度學習是機器學習的一種,而機器學習是實現人工智慧的必經之路。那麼,各種深度學習的系統架構之間有哪些差異呢? 1.全連接網路(FCN)完全連接網路(FCN)由一系列完全連接的層組成,每個層中的每個神經元都連接到另一層中的每個神經元。其主要優點是“結構不可知”,即不需要對輸入做出特殊的假設。雖然這種結構不可知使得完

多路徑多領域通吃! GoogleAI發布多領域學習通用模型MDL 多路徑多領域通吃! GoogleAI發布多領域學習通用模型MDL May 28, 2023 pm 02:12 PM

面向視覺任務(如影像分類)的深度學習模型,通常使用單一視覺域(如自然影像或電腦生成的影像)的資料進行端到端的訓練。一般情況下,一個為多個領域完成視覺任務的應用程式需要為每個單獨的領域建立多個模型,分別獨立訓練,不同領域之間不共享數據,在推理時,每個模型將處理特定領域的輸入資料。即使是面向不同領域,這些模型之間的早期層的有些特徵都是相似的,所以,對這些模型進行聯合訓練的效率更高。這能減少延遲和功耗,降低儲存每個模型參數的記憶體成本,這種方法稱為多領域學習(MDL)。此外,MDL模型也可以優於單

Spring Data JPA 的架構和工作原理是什麼? Spring Data JPA 的架構和工作原理是什麼? Apr 17, 2024 pm 02:48 PM

SpringDataJPA基於JPA架構,透過映射、ORM和事務管理與資料庫互動。其儲存庫提供CRUD操作,派生查詢簡化了資料庫存取。此外,它使用延遲加載,僅在必要時檢索數據,從而提高了效能。

1.3ms耗時!清華最新開源行動裝置神經網路架構 RepViT 1.3ms耗時!清華最新開源行動裝置神經網路架構 RepViT Mar 11, 2024 pm 12:07 PM

论文地址:https://arxiv.org/abs/2307.09283代码地址:https://github.com/THU-MIG/RepViTRepViT在移动端ViT架构中表现出色,展现出显著的优势。接下来,我们将探讨本研究的贡献所在。文中提到,轻量级ViTs通常比轻量级CNNs在视觉任务上表现得更好,这主要归功于它们的多头自注意力模块(MSHA)可以让模型学习全局表示。然而,轻量级ViTs和轻量级CNNs之间的架构差异尚未得到充分研究。在这项研究中,作者们通过整合轻量级ViTs的有效

此「錯」並非真的錯:從四篇經典論文入手,理解Transformer架構圖「錯」在何處 此「錯」並非真的錯:從四篇經典論文入手,理解Transformer架構圖「錯」在何處 Jun 14, 2023 pm 01:43 PM

前段時間,一則指出Google大腦團隊論文《AttentionIsAllYouNeed》中Transformer架構圖與程式碼不一致的推文引發了大量的討論。對於Sebastian的這項發現,有人認為屬於無心之過,但同時也會令人感到奇怪。畢竟,考慮到Transformer論文的流行程度,這個不一致問題早就該被提及1000次。 SebastianRaschka在回答網友評論時說,「最最原始」的程式碼確實與架構圖一致,但2017年提交的程式碼版本進行了修改,但同時沒有更新架構圖。這也是造成「不一致」討論的根本原因。

最佳線上PHP編輯器:快速建立文件 最佳線上PHP編輯器:快速建立文件 Feb 29, 2024 pm 04:18 PM

最佳線上PHP編輯器:快速建立檔案在現代軟體開發領域中,隨著雲端運算和遠端工作的興起,越來越多的開發者轉向使用線上程式碼編輯器進行程式設計工作。特別是對於PHP開發者來說,尋找一個強大且方便快速的線上PHP編輯器變得特別重要。本文將介紹一款最佳的線上PHP編輯器,並提供具體的程式碼範例,幫助讀者快速了解其功能和使用方法。最佳線上PHP編輯器:PHPFiddlePH

AI基礎架構:IT和資料科學團隊協作的重要性 AI基礎架構:IT和資料科學團隊協作的重要性 May 18, 2023 pm 11:08 PM

人工智慧(AI)已經改變了許多行業的遊戲規則,使企業能夠提高效率、決策和客戶體驗。隨著人工智慧的不斷發展和變得越來越複雜,企業投資於合適的基礎設施來支援其開發和部署至關重要。這個基礎設施的一個關鍵方面是IT和數據科學團隊之間的協作,因為兩者在確保人工智慧計畫的成功方面都發揮著關鍵作用。人工智慧的快速發展導致對運算能力、儲存和網路能力的需求不斷增加。這種需求為傳統IT基礎架構帶來了壓力,而傳統IT基礎架構並非設計用於處理AI所需的複雜和資源密集型工作負載。因此,企業現在正在尋求建構能夠支持AI工作負

PHP函數操作之檔創建 PHP函數操作之檔創建 Jun 20, 2023 pm 07:58 PM

PHP是一種廣泛應用的伺服器端腳本語言,被廣泛用於開發網頁應用程式。在開發Web應用程式時,我們需要經常進行檔案操作,例如建立、讀取和編輯檔案等。本文將介紹PHP中檔案建立函數的使用。在PHP中建立檔案有兩種常用的函數,分別是fopen()和file_put_contents()。 fopen()函數fopen()函數的作用是開啟文件,如果文件存在則開啟文件

See all articles