비고
클래스 및 관련 클래스는 DataSet 2000년대 초반의 레거시 .NET Framework 기술로, 애플리케이션이 데이터베이스와 연결이 끊긴 동안 애플리케이션이 메모리의 데이터로 작업할 수 있도록 합니다. 이 기술은 사용자가 데이터를 수정하고 변경 내용을 데이터베이스에 다시 유지할 수 있도록 하는 앱에 특히 유용합니다. 데이터 세트는 입증된 성공적인 기술이지만 새 .NET 애플리케이션에 권장되는 방법은 Entity Framework Core를 사용하는 것입니다. Entity Framework는 테이블 형식 데이터를 개체 모델로 사용하는 보다 자연스러운 방법을 제공하며 더 간단한 프로그래밍 인터페이스를 제공합니다.
ADO.NET XML 데이터 작업을 위한 간단한 메서드를 제공합니다. 이 연습에서는 XML 데이터를 데이터 세트에 로드하는 Windows 애플리케이션을 만듭니다. 데이터 세트가 DataGridView 컨트롤에 표시됩니다. 마지막으로 XML 파일의 내용을 기반으로 하는 XML 스키마가 텍스트 상자에 표시됩니다.
필수 조건
이 자습서를 완료하려면 다음 워크로드가 설치된 Visual Studio가 필요합니다.
- .NET 데스크톱 개발
- 데이터 스토리지 및 처리
설치하려면 Visual Studio 설치 관리자 열고 수정하려는 Visual Studio 버전 옆에 있는 수정(또는 추가>수정)을 선택합니다. 을(를) 참조하여 Visual Studio을(를) 수정하세요.
새 프로젝트 만들기
C# 또는 Visual Basic에 대한 새 Windows Forms 앱 프로젝트를 만듭니다. 프로젝트 이름을 ReadingXML로 지정합니다.
데이터 세트로 읽을 XML 파일 생성
이 연습에서는 XML 데이터를 데이터 세트로 읽는 데 중점을 두므로 XML 파일의 내용이 제공됩니다.
프로젝트 메뉴에서 새 항목 추가를 선택합니다.
XML 파일을 선택하고 파일 이름을 authors.xml다음 추가를 선택합니다.
XML 파일이 디자이너에 로드되고 편집할 준비가 된 것입니다.
다음 XML 데이터를 XML 선언 아래의 편집기에 붙여넣습니다.
<Authors_Table> <authors> <au_id>172-32-1176</au_id> <au_lname>White</au_lname> <au_fname>Johnson</au_fname> <phone>408 496-7223</phone> <address>10932 Bigge Rd.</address> <city>Menlo Park</city> <state>CA</state> <zip>94025</zip> <contract>true</contract> </authors> <authors> <au_id>213-46-8915</au_id> <au_lname>Green</au_lname> <au_fname>Margie</au_fname> <phone>415 986-7020</phone> <address>309 63rd St. #411</address> <city>Oakland</city> <state>CA</state> <zip>94618</zip> <contract>true</contract> </authors> <authors> <au_id>238-95-7766</au_id> <au_lname>Carson</au_lname> <au_fname>Cheryl</au_fname> <phone>415 548-7723</phone> <address>589 Darwin Ln.</address> <city>Berkeley</city> <state>CA</state> <zip>94705</zip> <contract>true</contract> </authors> <authors> <au_id>267-41-2394</au_id> <au_lname>Hunter</au_lname> <au_fname>Anne</au_fname> <phone>408 286-2428</phone> <address>22 Cleveland Av. #14</address> <city>San Jose</city> <state>CA</state> <zip>95128</zip> <contract>true</contract> </authors> <authors> <au_id>274-80-9391</au_id> <au_lname>Straight</au_lname> <au_fname>Dean</au_fname> <phone>415 834-2919</phone> <address>5420 College Av.</address> <city>Oakland</city> <state>CA</state> <zip>94609</zip> <contract>true</contract> </authors> </Authors_Table>
파일 메뉴에서 authors.xml저장을 선택합니다.
사용자 인터페이스 만들기
이 애플리케이션의 사용자 인터페이스는 다음으로 구성됩니다.
DataGridView XML 파일의 내용을 데이터로 표시하는 컨트롤입니다.
TextBox XML 파일의 XML 스키마를 표시하는 컨트롤입니다.
두 개의 Button 컨트롤.
버튼 하나가 XML 파일을 데이터 세트로 읽어 DataGridView 컨트롤에 표시합니다.
두 번째 버튼은 데이터 세트에서 스키마를 추출한 후, 이를 StringWriter를 통해 TextBox 컨트롤에 표시합니다.
폼에 컨트롤을 추가하려면
디자인 보기에서
Form1
을(를) 엽니다.도구 상자에서 다음 컨트롤을 폼으로 끕니다.
하나의 DataGridView 컨트롤
하나의 TextBox 컨트롤
두 개의 Button 컨트롤
다음과 같이 속성을 설정합니다.
제어 재산 설정 TextBox1
여러 줄 true
ScrollBars 수직 Button1
이름 ReadXmlButton
문자 메시지 Read XML
Button2
이름 ShowSchemaButton
문자 메시지 Show Schema
XML 데이터를 수신하는 데이터 세트 만들기
이 단계에서는 라는 authors
새 데이터 세트를 만듭니다. 데이터 세트에 대한 자세한 내용은 Visual Studio의 데이터 세트 도구를 참조하세요.
솔루션 탐색기에서 Form1의 원본 파일을 선택한 다음 솔루션 탐색기 도구 모음에서 디자이너 보기 단추를 선택합니다.
도구 상자의 데이터 탭에서 DataSet을 Form1로 끕니다.
데이터 세트 추가 대화 상자에서 형식화되지 않은 데이터 세트를 선택한 다음 확인을 선택합니다.
DataSet1 이 구성 요소 트레이에 추가됩니다.
속성 창에서
AuthorsDataSet
의 이름 및 DataSetName 속성을 설정합니다.
데이터 세트에 XML 파일을 읽는 이벤트 처리기 만들기
XML 읽기 단추는 XML 파일을 데이터 세트로 읽습니다. 그런 다음, 데이터 세트에 DataGridView 바인딩하는 컨트롤의 속성을 설정합니다.
솔루션 탐색기에서 Form1을 선택한 다음 솔루션 탐색기 도구 모음에서 디자이너 보기 단추를 선택합니다.
XML 읽기 단추를 두 번 클릭합니다.
코드 편집기가 이벤트 처리기
ReadXmlButton_Click
에서 열립니다.이벤트 처리기에 다음 코드를
ReadXmlButton_Click
입력합니다.ReadXMLButton_Click
이벤트 처리기 코드에서filepath =
항목을 올바른 경로로 변경합니다.
텍스트 상자에 스키마를 표시하는 이벤트 처리기 만들기
스키마 표시 버튼은 스키마로 채워진 StringWriter 개체를 생성하여 TextBox 컨트롤에 표시합니다.
솔루션 탐색기에서 Form1을 선택한 다음 디자이너 보기 단추를 선택합니다.
스키마 표시 단추를 두 번 클릭합니다.
코드 편집기가 이벤트 처리기
ShowSchemaButton_Click
에서 열립니다.다음 코드를 이벤트 처리기에 붙여넣
ShowSchemaButton_Click
습니다.
양식 테스트
이제 양식을 테스트하여 예상대로 동작하는지 확인할 수 있습니다.
F5 키를 선택하여 애플리케이션을 실행합니다.
XML 읽기 단추를 선택합니다.
DataGridView는 XML 파일의 내용을 표시합니다.
스키마 표시 단추를 선택합니다.
텍스트 상자에 XML 파일의 XML 스키마가 표시됩니다.
다음 단계
이 연습에서는 XML 파일을 데이터 세트로 읽고 XML 파일의 내용을 기반으로 스키마를 만드는 기본 사항을 설명합니다. 다음에 수행할 수 있는 몇 가지 작업은 다음과 같습니다.
데이터 세트의 데이터를 편집하고 XML로 다시 작성합니다. 자세한 내용은 WriteXml를 참조하세요.
데이터 세트의 데이터를 편집하고 데이터베이스에 기록합니다.