System.Xml Visual C#.net을 사용 하 여 사용 하 여 두 XML 문서에서 데이터를 병합 하는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 311530 - 이 문서가 적용되는 제품 보기.
이 문서는 이전에 다음 ID로 출판되었음: KR311530
모두 확대 | 모두 축소

이 페이지에서

요약

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

요구 사항

다음은 권장된 하드웨어, 소프트웨어, 네트워크 인프라 및 필요한 서비스 팩입니다.
  • Microsoft Windows XP, Windows 2000 또는 Windows NT 4.0 서비스 팩 6a (SP6a)
  • Visual Studio Microsoft.net
이 문서에서는 사용자가 다음 내용을 잘 알고 있다고 가정 합니다.
  • Visual C#.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>Jeanette, Dasha</author>
          <title>Quack the Duck</title>
          <genre>Fantasy</genre>
          <price>5.95</price>
       </book>
    </catalog>
    					
  3. 파일 메뉴에서 저장을 클릭 합니다.
  4. 다른 이름으로 저장 대화 상자의 파일 형식 드롭다운 목록 상자에서 모든 파일을 클릭 합니다. 파일 이름 텍스트 상자에 입력 합니다. Books1.xml를 클릭 한 다음 저장을 클릭 합니다.

Books2.xml 파일 만들기

  1. 메모장에서 Books2.xml 이라는 새 텍스트 파일을 만듭니다.
  2. 복사 및 books2.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>
       </book>
       <book id="bk107">
          <author>Vinzovskaia, Irina</author>
          <title>Piano Fort A</title>
          <genre>Romance</genre>
          <price>4.95</price>
       </book>
    </catalog>
    					
  3. 파일 메뉴에서 저장을 클릭 합니다.
  4. 다른 이름으로 저장 대화 상자의 파일 형식 드롭다운 목록 상자에서 모든 파일을 클릭 합니다. 파일 이름 텍스트 상자에 입력 합니다. Books2.xml를 클릭 한 다음 저장을 클릭 합니다.

Visual C#.net 응용 프로그램을 만드는 단계

  1. Visual Studio.net을 시작한 다음 새 Visual C# 콘솔 응용 프로그램 프로젝트를 만듭니다.
  2. 코드 창의 맨 아래에 다음 코드를 추가 합니다.
    using System;
    using System.Xml;
    using System.IO;
    using System.Data ;
    					
  3. 복사 하 여 정적 void Main (string args)에 다음 코드를 붙여 넣습니다.
    try
    	{
    		XmlTextReader xmlreader1 = new XmlTextReader("C:\\Books1.xml");
    		XmlTextReader xmlreader2 = new XmlTextReader("C:\\Books2.xml");
    
    		DataSet ds = new DataSet();
    		ds.ReadXml(xmlreader1);
    		DataSet ds2 = new DataSet();
    		ds2.ReadXml(xmlreader2);
    		ds.Merge(ds2);
    		ds.WriteXml("C:\\Books.xml");
    		Console.WriteLine("Completed merging XML documents");
    	}
    	catch (System.Exception ex)
    	{
    		Console.Write(ex.Message);
    	}
    Console.Read();	
    					
  4. 빌드 및 응용 프로그램을 실행 합니다. "XML 문서 병합 완료" 메시지가 콘솔 창에 나타납니다.
  5. 콘솔 창을 닫습니다. Books.xml 파일이 지정한 경로에 만들어집니다.
  6. Books.xml을 엽니다. Books2.xml의 데이터가 Books1.xml 끝에 추가 된 알 수 있습니다.

다른 XML 문서 시나리오

구조가 같은 XML 문서 병합

이전 Visual C#.net 샘플 같은 구조를 가진 XML 문서의 출력을 보여 줍니다.

구조가 다른 XML 문서 병합

  1. Books2.xml을 열고 XML을 다음 XML로 바꿉니다.
    <?xml version="1.0" ?>
    <SampleData>
    <Customer>
              <CustomerName>Bob Frapples</CustomerName>
              <PricePerUnit>5.95</PricePerUnit>
              <ClosingDate>2001-12-16</ClosingDate>
    </Customer>
    <Customer>
              <CustomerName>Bob Frapples</CustomerName>
              <PricePerUnit>5.95</PricePerUnit>
              <ClosingDate>2001-12-16</ClosingDate>
    </Customer>
    </SampleData>
    					
  2. Books2.xml을 저장 합니다.
  3. Visual C#.net 프로젝트를 다시 실행 합니다. 두 번째 문서 (Books2.xml) 노드가 첫 번째 XML 문서 (Books1.xml)를 추가 됩니다 알 수 있습니다.

두 번째 문서에 추가 요소가 포함 되어 있는 구조가 유사한 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>Vinzovskaia, Irina</author>
          <title>Piano Fort A</title>
          <genre>Romance</genre>
          <price>4.95</price>
          <publish_date>2000-11-02</publish_date>
          <description>Two young pianists strike a chord when they fight a 
          pitched battle to stop the gnomes at a key base.</description>
       </book>
    </catalog>
    					
  2. Books2.xml을 저장 합니다.
  3. Visual C#.net 프로젝트를 다시 실행 합니다. 두 번째 문서의 노드가 첫 번째 XML 문서에 추가 되는 알 수 있습니다.

두 번째 문서에 특성이 포함 되어 있는 구조가 유사한 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>Vinzovskaia, Irina</author>
          <title>Piano Fort A</title>
          <price>4.95</price>
       </book>
       <book id="bk108" genre="Horror">
          <author>de Dogg, Jazz</author>
          <title>Night of the Flea</title>
          <price>4.95</price>
       </book>
       </catalog>
    					
  2. Books2.xml을 저장 합니다.
  3. Visual C#.net 프로젝트를 다시 실행 합니다. 두 번째 문서의 노드가 첫 번째 XML 문서에 추가 되 고 구조가 첫 번째 XML 문서로 동일한 됩니다 확인할 수 있습니다.

첫 번째 문서에 특성이 포함 되어 있는 구조가 유사한 XML 문서 병합

  1. Books1.xml이 books2.xml에 추가 되는 C# 코드를 다음과 같이 수정 합니다.
    try
    	{
    		XmlTextReader xmlreader1 = new XmlTextReader("C:\\Books2.xml");
    		XmlTextReader xmlreader2 = new XmlTextReader("C:\\Books1.xml");
    
    		DataSet ds = new DataSet();
    		ds.ReadXml(xmlreader1);
    		DataSet ds2 = new DataSet();
    		ds2.ReadXml(xmlreader2);
    		ds.Merge(ds2);
    		ds.WriteXml("C:\\Books.xml");
    		Console.WriteLine("Completed merging XML documents");
    	}
    	catch (System.Exception ex)
    	{
    		Console.Write(ex.Message);
    	}
    Console.Read();	
    					
  2. Visual C#.net 프로젝트를 다시 실행 합니다. 결과 XML 문서에서 Books1.xml 노드를 Books2.xml 추가 됩니다. 또한 책 노드를 모두 "장르" 특성이 포함 되어 있습니다.

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

참조

자세한 내용은 Microsoft 기술 자료의 다음 문서를 클릭 하십시오.
286817 문서 개체 모델 (DOM) 프로그래밍 하 여 두 XML 문서의 데이터를에서 병합 하는 방법

속성

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

피드백 보내기

 

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