ПРАКТИЧЕСКОЕ руководство: Бета-версии: слияние данных из двух XML-документов с помощью System.Xml с помощью Visual Basic.NET

Переводы статьи Переводы статьи
Код статьи: 308066 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

В этой статье показано, как использовать Набор данных объект для объединения двух XML-документов. В Набор данных объект центральное поддерживающий сценарии отключенным, распределенных данных с помощью ADO.NET. В Набор данных является резидентной представление данных, обеспечивающий согласованность, реляционной модели программирования независимо от источника данных. В Набор данных представляет полный набор данных, включая связанные таблицы, ограничения и связи между таблицами.

Требования

В следующем списке представлены оборудования, программного обеспечения, сетевой инфраструктуры и пакетов обновления, необходимо:
  • Microsoft Windows XP, Windows 2000 или Windows NT 4.0 с пакетом обновления 6a (SP6a)
  • Microsoft Visual Studio.NET
Предполагается, что вы знакомы с следующие темы:
  • Visual Basic.NET на этой странице
  • Расширяемый язык разметки (XML)

Создайте файл Books1.xml

  1. Из окон Начало меню, нажмите кнопку Запустить, тип 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

Объединение документов XML, которые имеют такую же структуру

В предыдущем Visual Basic.NET примере демонстрируется вывод XML-документов с такой же структурой.

Объединение документов 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).

Объединение документов 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.

Объединение документов 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-документа.

Объединение документов XML с подобной структурой, где первый документ содержит атрибуты

  1. Таким образом, чтобы Books1.xml добавляется к Books2.xml следующим образом измените код Visual Basic:
            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 является более информативной.

Ссылки

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
286817 Методические УКАЗАНИЯ: Слияние данных в двух документах XML при программировании объектной модели документов (DOM)

Свойства

Код статьи: 308066 - Последний отзыв: 6 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft .NET Framework 1.0
  • Microsoft .NET Framework 1.1
Ключевые слова: 
kbhowtomaster kbmt KB308066 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:308066

Отправить отзыв

 

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