>  기사  >  백엔드 개발  >  연관된 XML 스키마를 사용하여 XML 파일 생성 && XML 파일에서 XML 스키마 생성

연관된 XML 스키마를 사용하여 XML 파일 생성 && XML 파일에서 XML 스키마 생성

黄舟
黄舟원래의
2017-02-28 16:48:231908검색

1. 연결된 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자리 우편번호를 나타내는 단순 유형 요소 생성

" Toolbox", "simpleType"을 디자인 화면으로 드래그합니다. 기본 이름 "simpleType1"을 선택하고 유형 이름을 "postalCode"로 바꿉니다. Tab 키를 사용하여 오른쪽에 있는 다음 셀로 이동하고 드롭다운 목록에서 "PositiveInteger"를 선택합니다. 다음 줄로 이동하려면 Tab 키를 사용하세요.

드롭다운 상자를 클릭합니다. 유일한 옵션은 패싯입니다. 이는 단순 유형이 콘텐츠 모델의 일부로 요소나 속성을 포함할 수 없기 때문입니다. 단순 유형을 생성하는 데는 패싯만 사용할 수 있습니다. Tab 키를 사용하여 오른쪽의 다음 셀로 이동하고 드롭다운 목록에서 "패턴"을 선택합니다. Tab 키를 다시 사용하여 오른쪽의 다음 셀로 이동하고 "d{5}"를 입력합니다.

패턴 패싯을 사용하면 정규식을 입력할 수 있습니다. 정규식 d{5}는 postalCode 유형 콘텐츠가 5자리로 제한됨을 의미합니다. 정규식은 이 연습의 범위를 벗어나지만 선택한 데이터 유형과 함께 패턴 패싯을 사용하여 단순 유형의 특정 데이터만 허용하는 방법을 확인할 수 있습니다.

스키마를 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 키를 사용하여 오른쪽의 다음 셀로 이동하고 "이름"을 입력합니다.

TAB 키를 사용하여 오른쪽의 다음 셀로 이동하고 데이터 유형을 문자열로 설정하세요. usAddress 요소 내에서 반복하여 다음 항목에 대한 새 행을 만듭니다.

요소 이름
데이터 유형

Street
 string
 
City
 string
 
State
 string
 
Zip
 postalCode


할당에 유의하세요. Zip 요소에 지정된 데이터 유형입니다. 이전에 생성한 postalCode 단순 유형입니다.

XML 보기로 전환하면 루트 수준 스키마 태그에 다음 코드가 표시되어야 합니다. 즉, 코드 예제에는 스키마의 실제 선언 부분이나 루트 또는 문서라는 태그가 포함되어 있지 않습니다. level 실제 스키마 마크업):

<xs:simpleType name="postalCode">
      <xs:restriction base="xs:positiveInteger">
         <xs:pattern value="\d{5}" />
      </xs:restriction>
   </xs:simpleType>
   
      
         
         
         
         
         
      
   

이제 요소 정의와 유형에 사용할 수 있는 두 가지 별도의 유형을 정의했습니다. 파일 메뉴에서 모두 저장을 선택합니다.

스키마에 기본 요소를 추가합니다. 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으로 문의하세요.
이전 기사:XPath 11 인스턴스다음 기사:XPath 11 인스턴스