Як об'єднати дані з двох XML-документів, використовуючи System.Xml за допомогою Visual C# .net

Переклади статей Переклади статей
Номер статті: 311530 - Показ продуктів, яких стосується ця стаття.
Розгорнути все | Згорнути все

На цій сторінці

Підсумки

У цій статті показано, як використовувати об'єкт набору даних для злиття двох XML-документів. Набір даних об'єкта у підтримці відключено, поширюється даних сценарії з ADO.NET. Набір даних є пам'яті резидент подання елементів даних, що забезпечує послідовною, реляційна модель програмування незалежно від джерела даних. Набір даних являє собою повний набір даних, у тому числі пов'язаних таблицях, обмежень і зв'язки між таблицями.

Вимоги

У цьому списку описано рекомендованих устаткування, Підтримка програмного забезпечення, мережі інфраструктури та пакети, які ви повинні:
  • Microsoft Windows XP, Windows 2000 або Windows NT 4.0 пакет оновлень 6a (SP6a)
  • Microsoft Visual Studio .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. Скопіюйте та вставте такі 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>Vinzovskaia, Irina</author>
          <title>Piano Fort A</title>
          <genre>Romance</genre>
          <price>4.95</price>
       </book>
    </catalog>
    					
  3. У меню файл виберіть команду Зберегти.
  4. У діалоговому вікні Зберегти як , у розкривному списку Зберегти як тип виберіть Всі файли. У полі Ім'я файлу введіть Books2.XMLа потім клацніть Зберегти.

Кроки для створення візуальних C# .net застосування

  1. Почати Visual Studio .net а потім створіть новий проект Visual C# консольного застосування.
  2. Додати наступний код у верхній частині вікна код:
    using System;
    using System.Xml;
    using System.IO;
    using System.Data ;
    					
  3. Скопіюйте та вставте наступний код в статичних недійсним Головна (рядок [] 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" протокол IMAP з'явиться у вікні консолі.
  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. Змінити Visual C# код таким чином, так що Books1.xml приєднується до Books2.xml:
    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 Knowledge Base:
286817 Як об'єднати дані в двох XML-документів на програмування об'єктної моделі документа (DOM)

Властивості

Номер статті: 311530 - Востаннє переглянуто: 30 серпня 2012 р. - Редакція: 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 KbMtuk
Машинний переклад
УВАГА! Цю статтю переклала програма машинного перекладу 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