방법: BETA: Visual Basic .NET System.Xml 사용하여 두 XML 문서 데이터 병합

기술 자료 번역 기술 자료 번역
기술 자료: 308066 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 DataSet 개체를 사용하여 두 XML 문서를 병합하는 방법을 보여 줍니다. DataSet 개체를 연결이 끊긴 중앙 지원할 수 ADO.NET 데이터 시나리오가 배포됩니다. DataSet 데이터 소스에 관계없이 일관성 있는 관계형 프로그래밍 모델을 제공하는 데이터의 메모리 상주 표현입니다. DataSet 관련된 테이블, 제약 조건 및 테이블 간의 관계를 포함하는 데이터의 완전한 집합을 나타냅니다.

요구 사항

다음은 권장되는 하드웨어, 소프트웨어, 네트워크 인프라 및 필요한 서비스 팩의 목록입니다.
  • Microsoft Windows XP나 Windows 2000, Windows NT 4.0 서비스 팩 6a (SP6a)
  • Microsoft Visual Studio .NET
이 문서에서는 사용자가 다음 항목을 잘 알고 있다고 가정합니다.
  • Visual Basic .NET 구문
  • 확장 가능한 표시 언어 (XML)

Books1.xml 파일 만들기

  1. Windows 시작 메뉴에서 실행Notepad.exe 를 입력한 다음 확인 을 누릅니다.
  2. 다음 코드를 선택하여 강조 표시하고 코드를 마우스 오른쪽 단추로 클릭한 다음 복사 를 클릭하십시오. 메모장에서 편집 메뉴에서 붙여넣기 를 클릭합니다.
    <?xml version="1.0"?>
    <catalog>
       <book id="bk101">
          <author>Gambardella, Matthew</author>
          <title>XML Developer's Guide</title>
          <genre>Computer</genre>
          <price>44.95</price>
       </book>
       <book id="bk102">
          <author>Ralls, Kim</author>
          <title>Midnight Rain</title>
          <genre>Fantasy</genre>
          <price>5.95</price>
       </book>
    </catalog>
    					
  3. 파일 메뉴에서 저장 을 클릭하십시오.
  4. 저장 대화 상자의 파일 형식 드롭다운 목록 상자에서 모든 파일 을 누릅니다. 파일 이름 텍스트 상자에서 Books1.xml 를 입력한 다음 저장 을 클릭하십시오.

Books2.xml 파일 만들기

  1. 메모장에서 Books2.xml 라는 새 텍스트 파일을 만듭니다.
  2. 다음 XML로 Books2.xml 붙여 넣을:
    <?xml version="1.0"?>
    <catalog>
    <book id="bk106">
          <author>Randall, Cynthia</author>
          <title>Lover Birds</title>
          <genre>Romance</genre>
          <price>4.95</price>
       </book>
       <book id="bk107">
          <author>Thurman, Paula</author>
          <title>Splish Splash</title>
          <genre>Romance</genre>
          <price>4.95</price>
       </book>
    </catalog>
    					
  3. 파일 메뉴에서 저장 을 클릭하십시오.
  4. 저장 대화 상자의 파일 형식 드롭다운 목록 상자에서 모든 파일 을 누릅니다. 파일 이름 텍스트 상자에서 Books2.xml 를 입력한 다음 저장 을 클릭하십시오.

Visual Basic .NET 응용 프로그램을 만드는 단계

  1. Visual Studio .NET 시작 및 Visual Basic 콘솔 응용 프로그램 프로젝트를 새로 만듭니다.
  2. 다음 코드를 코드 창의 맨 위에 추가합니다:
    Imports System.Xml
    					
  3. 다음 코드를 Sub Main 프로시저에 붙여넣습니다:
            Dim xmlreader1 As New XmlTextReader("C:\Books1.xml")
    
            Dim xmlreader2 As New XmlTextReader("C:\Books2.xml")
    
            Dim ds1 As New DataSet()
            Try
                ds1.ReadXml(xmlreader1)
    
                Dim ds2 As New DataSet()
                ds2.ReadXml(xmlreader2)
    
                ds1.Merge(ds2)
                ds1.WriteXml("C:\Books.xml", XmlWriteMode.IgnoreSchema)
                Console.WriteLine("Completed merging XML documents")
            Catch ex As Exception
                Console.WriteLine(ex.Message)
            End Try
            Console.Read()
    					
  4. 빌드 및 응용 프로그램을 실행하십시오. 콘솔 창에 "XML 문서 병합 완료" 메시지가 나타납니다.
  5. 콘솔 창을 닫습니다. Books.xml 파일이 지정된 경로에 만들어집니다 알 수 있습니다.
  6. Books.xml을 엽니다. Books2.xml 데이터에서 Books1.xml 끝에 추가되는 알 수 있습니다.

다른 XML 문서 시나리오

같은 구조 가진 병합

앞의 Visual Basic .NET 샘플 같은 구조 가진 XML 문서의 출력을 보여 줍니다.

다른 구조체 가진 병합

  1. Books2.xml를 열고 다음 XML을 사용하여 XML 바꿉니다:
    <?xml version="1.0" ?>
    <SampleData>
    <Customer>
              <CustomerName>Bill Gates</CustomerName>
              <PricePerUnit>5.95</PricePerUnit>
              <ClosingDate>2001-12-16</ClosingDate>
    </Customer>
    <Customer>
              <CustomerName>Bill Gates</CustomerName>
              <PricePerUnit>5.95</PricePerUnit>
              <ClosingDate>2001-12-16</ClosingDate>
    </Customer>
    </SampleData>
    					
  2. Books2.xml을 저장하십시오.
  3. Visual Basic .NET 프로젝트를 다시 실행하십시오. (Books2.xml) 두 번째 문서의 노드가 첫 번째 XML 문서의 (Books1.xml) 추가된 것을 알 수 있습니다.

병합 (두 번째 문서에 추가 요소가 포함된 구조가 유사한

  1. Books2.xml를 열고 다음 XML을 사용하여 XML 바꿉니다:
    <?xml version="1.0"?>
    <catalog>
    <book id="bk106">
          <author>Randall, Cynthia</author>
          <title>Lover Birds</title>
          <genre>Romance</genre>
          <price>4.95</price>
          <publish_date>2000-09-02</publish_date>
          <description>When Carla meets Paul at an ornithology 
          conference, tempers fly as feathers get ruffled.</description>
       </book>
       <book id="bk107">
          <author>Thurman, Paula</author>
          <title>Splish Splash</title>
          <genre>Romance</genre>
          <price>4.95</price>
          <publish_date>2000-11-02</publish_date>
          <description>A deep-sea diver finds true love twenty 
          thousand leagues beneath the sea.</description>
       </book>
    </catalog>
    					
  2. Books2.xml을 저장하십시오.
  3. Visual Basic .NET 프로젝트를 다시 실행하십시오. 두 번째 문서의 노드가 첫 번째 XML 문서의 추가된 것을 알 수 있습니다.

병합 (두 번째 문서에 특성이 포함된 구조가 유사한

  1. Books2.xml를 열고 다음 XML을 사용하여 XML 바꿉니다:
    <?xml version="1.0"?>
    <catalog>
    <book id="bk106" genre="Romance">
          <author>Randall, Cynthia</author>
          <title>Lover Birds</title>
          <price>4.95</price>
       </book>
       <book id="bk107" genre="Romance">
          <author>Thurman, Paula</author>
          <title>Splish Splash</title>
          <price>4.95</price>
       </book>
       <book id="bk108" genre="Horror">
          <author>Knorr, Stefan</author>
          <title>Creepy Crawlies</title>
          <price>4.95</price>
       </book>
       </catalog>
    					
  2. Books2.xml을 저장하십시오.
  3. Visual Basic .NET 프로젝트를 다시 실행하십시오. 두 번째 문서의 노드가 첫 번째 XML 문서의 추가된 첫 번째 XML 문서로 동일한 구조입니다 나타납니다.

병합 (첫 번째 문서에 특성이 포함된 경우) 구조가 유사한

  1. Books1.xml Books2.xml 위해 추가된 VBA 코드를 다음과 같이 수정하여:
            Dim xmlreader1 As New XmlTextReader("C:\Books2.xml")
    
            Dim xmlreader2 As New XmlTextReader("C:\Books1.xml")
    
            Dim ds1 As New DataSet()
            Try
                ds1.ReadXml(xmlreader1)
    
                Dim ds2 As New DataSet()
                ds2.ReadXml(xmlreader2)
    
                ds1.Merge(ds2)
                ds1.WriteXml("C:\Books.xml", XmlWriteMode.IgnoreSchema)
                Console.WriteLine("Completed merging XML documents")
            Catch ex As Exception
                Console.WriteLine(ex.Message)
            End Try
            Console.Read()
    					
  2. Visual Basic .NET 프로젝트를 다시 실행하십시오. 알림 결과 XML 문서를 Books1.xml Books2.xml 노드를 추가합니다. 또한 책 노드를 모두 "장르" 특성이 포함되어 있는지 확인하십시오.

    따라서 첫 번째 XML 문서의 구조에 따라 결과 XML이 보다 의미 있는 되도록 두 번째 XML 문서가 수정됩니다.

참조

자세한 내용은 아래 문서 번호를 눌러 Microsoft 기술 자료에 있는 문서를 클릭하십시오.
286817HOWTO: 문서 개체 모델 (DOM) 프로그래밍 두 XML 문서의 데이터 병합

속성

기술 자료: 308066 - 마지막 검토: 2003년 9월 4일 목요일 - 수정: 2.3
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.1
키워드:?
kbmt kbhowtomaster KB308066 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com