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 스키마를 선택합니다. 스키마 이름을 "CustomerListSchema"로 지정하고 열기를 클릭합니다.
4. 스키마에 단순 유형 정의를 추가합니다.
"
도구 상자"의 "XML 스키마" 탭에서 "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 요소에서 반복하여 다음에 대한 새 행을 만듭니다.
요소 이름
데이터 유형
거리
끈
도시
끈
상태
끈
지퍼
우편번호
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 파일에서 유효한 데이터를 정의하는 실제 요소를 만듭니다.
고객 요소를 생성합니다
. 스키마 보기로 전환합니다. 도구 상자의 XML 스키마 탭에서 "요소"를 디자인 화면으로 끌어옵니다. 기본 이름 "element1"을 선택하고 이름을 "customer"로 바꿉니다. 이 요소에 대한 데이터 유형을 선택하지 마십시오. Tab 키를 사용하여 다음 행의 가운데 셀로 이동하고 "CompanyName"을 입력합니다. Tab 키를 사용하여 오른쪽의 다음 셀로 이동하고 데이터 유형을 문자열로 설정합니다.
다음 항목
에 대해 Customer 요소에 새 행을 생성하려면 반복하세요.
데이터 유형
연락처 이름
끈
이메일
끈
핸드폰
끈
청구지 주소
우리주소
배송지 주소
우리주소
"BillToAddress" 요소와 "ShipToAddress" 요소에 할당된 데이터 유형을 참고하세요. 이전에 생성된 usAddress 복합 유형입니다. 이메일, 전화 요소 등에 대한 단순 유형을 정의했을 수도 있습니다.
스키마를 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="회사 이름" 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라는 요소를 생성합니다.
customerList 요소 만들기 도구 상자의 XML 스키마 탭에서 "요소"를 디자인 화면으로 끌어 놓습니다. 기본 이름 "element1"을 선택하고 이름을 "customerList"로 바꿉니다. 이 요소에 대한 데이터 유형을 선택하지 마십시오. 이전에 생성된 고객 요소를 선택하고 이를 customerList 요소로 끌어 놓습니다. 데이터의 계층 구조를 나타내기 위해 별도의 디자인 창이 바인딩되어 있습니다. 파일 메뉴에서 모두 저장을 선택합니다.
8. 스키마를 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>). .
<를 입력하세요. 고객 요소를 선택합니다.
태그를 끝내려면 >를 입력하세요.
<를 입력하고 유효한 요소 목록에서 CompanyName을 선택합니다.
태그를 끝내려면 >를 입력하세요.
회사 이름으로 Blue Yonder Airlines를 입력합니다.
데이터 보기로 전환합니다. 그리드의 연락처 이름 필드에 Nate Sun을 입력합니다. 그리드의 다른 필드에 데이터를 추가하여 레코드를 채웁니다. "XML" 보기로 다시 전환합니다. 이제 그리드의 데이터 형식이 XML로 올바르게 지정됩니다.
2. XML 파일에서 XML 스키마를 생성합니다.
기존 XML 문서를 기반으로 새 XML 스키마를 생성합니다.
1. XML 문서(.xml 파일)를 "XML Designer"에 로드합니다.
2. XML 메뉴에서 스키마 생성을 클릭합니다.
3. XML 스키마(.xsd 파일)가 원본 XML 파일과 동일한 이름으로 현재 프로젝트에 추가됩니다.
4. 새로 생성된 XML 스키마(.xsd 파일)를 "XML Designer"에 로드합니다.
5. 스키마 생성 시 할당된 데이터 유형을 확인하고 편집합니다.
참고 기존 XML 문서에서 스키마를 파생하는 경우 모든 데이터 유형은 처음에 문자열로 설정되므로 XML 데이터의 콘텐츠 요구 사항에 따라 데이터 유형을 편집해야 합니다.
스키마를 변경해야 하는 경우 XML 디자이너를 사용하여 요소를 추가, 편집 및 제거할 수 있습니다.
http://www.cnblogs.com/xh831213/archive/2006/09/14/503944.html