ホームページ  >  記事  >  バックエンド開発  >  XML スキーマが関連付けられた XML ファイルを作成する && XML ファイルから XML スキーマを作成する

XML スキーマが関連付けられた XML ファイルを作成する && XML ファイルから XML スキーマを作成する

黄舟
黄舟オリジナル
2017-02-28 16:48:231958ブラウズ

1. 関連する XML スキーマを含む XML ファイルを作成します
1. 新しい Windows アプリケーション プロジェクトを作成します

まず、Visual Basic または Visual C# で新しい Windows アプリケーションを作成する必要があります。新しいプロジェクトを作成して「XMLCustomerList」という名前を付け、[ファイル] メニューの [新規] をポイントし、[プロジェクト] をクリックして [新しいプロジェクト] ダイアログ ボックスを表示します。 使用する言語に応じて、[プロジェクトの種類] ペインで [Visual Basic プロジェクト] または [Visual C# プロジェクト] を選択し、[Windows アプリケーション] を選択します。 プロジェクトに「XMLCustomerList」という名前を付け、「OK」をクリックしてプロジェクトを作成します。

2. Visual Studio は、XMLCustomerList プロジェクトをソリューション エクスプローラーに追加します。

新しい XML ファイル項目をプロジェクトに追加するには、[プロジェクト] メニューから [新しい項目の追加] を選択します。 [新しい項目の追加] ダイアログ ボックスが表示されます。 [新しい項目の追加] ダイアログ ボックスの [テンプレート] 領域から [XML ファイル] を選択します。 XML ファイルに「CustomerList」という名前を付け、「開く」をクリックします。

3. 新しい XML スキーマ項目をプロジェクトに追加します

新しい XML スキーマ項目をプロジェクトに追加するには、[プロジェクト] メニューから [新しい項目の追加] を選択します。 [新しい項目の追加] ダイアログ ボックスが表示されます。 [新しい項目の追加] ダイアログ ボックスの [テンプレート] 領域から [XML スキーマ] を選択します。 スキーマに「CustomerListSchema」という名前を付け、「開く」をクリックします。

4. スキーマに単純型定義を追加します

5 桁の郵便番号を表す単純型要素を作成します

「ツールボックス」の「XML スキーマ」タブから、「simpleType」をデザイン画面にドラッグします。デフォルト名「simpleType1」を選択し、タイプの名前を「postalCode」に変更します。 TAB キーを使用して右の次のセルに移動し、ドロップダウン リストから「positiveInteger」を選択します。 TAB キーを使用して次の行に移動します。

ドロップダウンボックスをクリックします。唯一のオプションはファセットです。これは、単純型にはコンテンツ モデルの一部として要素や属性を含めることができないためです。単純な型の生成に使用できるのはファセットのみです。 TAB キーを使用して右の次のセルに移動し、ドロップダウン リストから「パターン」を選択します。もう一度 TAB キーを使用して右の次のセルに移動し、「d{5}」と入力します。

パターン ファセットを使用すると、正規表現を入力できます。正規表現 d{5} は、postalCode タイプの内容が 5 桁に制限されていることを意味します。正規表現はこのウォークスルーの範囲を超えていますが、選択したデータ型でパターン ファセットを使用して、単純な型内の特定のデータのみを許可する方法を確認できます。

スキーマを XML ビューに切り替えると、ルート レベルのスキーマ タグに次のコードが表示されます (これは、コード例にはフレームワークの実際の宣言部分も、ルート レベルまたはドキュメント レベルのタグと呼ばれる実際のスキーマも含まれていないことを意味します) Mark):

<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 キーを使用して右の次のセルに移動し、「名前」と入力します。

TAB キーを使用して右側の次のセルに移動し、データ型を文字列に設定します。 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>
   
      
         
         
         
         
         
      
   

これで、型だけでなく要素定義でも使用できる 2 つの別個の型を定義できました。 「ファイル」メニューから「すべて保存」を選択します。 main 要素をスキーマに追加します

6. いくつかのデータ型を定義した後、作成される XML ファイルの実際のデータ定義を構築できます。 XML ファイルには顧客リストのデータが含まれるため、XML ファイル内で有効なデータを定義する実際の要素を作成します。

Customer 要素を作成します。

スキーマ ビューに切り替えます。ツールボックスの「XML スキーマ」タブから「要素」をデザイン画面にドラッグします。 デフォルト名「element1」を選択し、名前を「customer」に変更します。この要素のデータ型を選択しないでください。 TAB キーを使用して次の行の中央のセルに移動し、「CompanyName」と入力します。 TAB キーを使用して右の次のセルに移動し、データ型を文字列に設定します。 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 までご連絡ください。