如何通过编程文档对象模型 (DOM) 中合并两个 XML 文档中的数据

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 286817
本文已归档。它按“原样”提供,并且不再更新。
概要
本文介绍一个 Visual Basic 代码示例,该示例演示如何进行编程,MSXML 文档对象模型 (DOM) 来合并两个相同的 XML 文档中包含的数据。
更多信息
合并到一个单独的 XML 文档中包含两个或多个相同的 XML 文档中的数据是很常见的要求。代码和本文中的所述的方法可以被进一步展开到合并三个或更多个 XML 文档中。 如果通过并排模式中安装了较新版本的 MSXML,则必须显式运行的代码示例使用全局唯一标识符 (guid) 或为该版本的 ProgIDs。例如对于只能在通过并排模式下安装 MSXML 4.0 版。有关与 MSXML 4.0 分析器中运行的代码示例所需的代码更改的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
305019信息: MSXML 4.0 特定的 guid 和 ProgIds
  1. 在微软记事本中打开一个空文本文件。
  2. 复制,并将下面的 XML 代码粘贴到记事本,然后将文件另存为 xmlbooks1.xml
    <?xml version="1.0"?><Books>   <Book>      <Title>XML Step By Step</Title>      <Publisher>MS Press</Publisher>   </Book>   <Book>      <Title>Developing XML Solutions</Title>      <Publisher>MS Press</Publisher>   </Book></Books>					
  3. 在记事本中打开一个新的文本文件。
  4. 复制,并将下面的 XML 代码粘贴到记事本,然后将文件另存为 xmlbooks2.xml
    <?xml version="1.0"?><Books>   <Book>      <Title>Beginning XML</Title>      <Publisher>Wrox</Publisher>   </Book>   <Book>      <Title>Professional XML</Title>      <Publisher>Wrox</Publisher>   </Book></Books>					
  5. 在 Visual Basic 6.0 中打开一个新的标准 EXE 项目。默认情况下创建 Form1。
  6. 项目 菜单上,设置项目的引用为 Microsoft XML、 v3.0 或更高版本。
  7. 将放置命令按钮拖到 Form1 上。默认情况下创建 Command1。
  8. 复制并将下面的代码粘贴到命令按钮的 Click 事件过程:
    ' In the ProgIDs below, change 30 to reflect the installed version of the Microsoft XML Parser.' For example, use Dim doc1 As MSXML2.DOMDocument40 for MSXML 4.Dim doc1 As MSXML2.DOMDocument30Dim doc2 As MSXML2.DOMDocument30Dim doc2Node As MSXML2.IXMLDOMNodeSet doc1 = New MSXML2.DOMDocument30Set doc2 = New MSXML2.DOMDocument30doc1.Load "d:\xmlbooks1.xml"doc2.Load "d:\xmlbooks2.xml"For Each doc2Node In doc2.documentElement.childNodes  doc1.documentElement.appendChild doc2NodeNextMsgBox doc1.xmldoc1.save "d:\AllXMLBooks.xml"					
  9. 前面的代码加载到两个 MSXML DOMDocument 对象的步骤 1 到 4 中创建的两个 XML 文档。该代码然后将在 xmlbooks2.xml 数据合并到包含数据的 xmlbooks1.xml DOMDocument 对象的实例。这是通过 doc2 DOMDocument 对象的文档元素的子节点中循环,并将每个追加到 doc1 DOMDocument 的文档元素来实现。最后,合并的 XML 是显示在一个消息框中,并保存到磁盘上的文件。
  10. 在要查看合并的 XML 文档,并注意下面的 XML 的 Microsoft Internet Explorer 中打开 AllXMLBooks.xml
    <?xml version="1.0"?><Books>	<Book>		<Title>XML Step By Step</Title>		<Publisher>MS Press</Publisher>	</Book>	<Book>		<Title>Developing XML Solutions</Title>		<Publisher>MS Press</Publisher>	</Book>	<Book>		<Title>Beginning XML</Title>		<Publisher>Wrox</Publisher>	</Book>	<Book>		<Title>Professional XML</Title>		<Publisher>Wrox</Publisher>	</Book></Books>					
IE

警告:本文已自动翻译

属性

文章 ID:286817 - 上次审阅时间:12/06/2015 00:11:45 - 修订版本: 3.2

Microsoft XML Parser 2.0, Microsoft XML Parser 2.5, Microsoft XML Parser 2.6, Microsoft XML Parser 3.0, Microsoft XML Core Services 4.0, Microsoft Visual Basic 5.0 企业版, Microsoft Visual Basic Enterprise Edition for Windows 6.0, Microsoft Visual Basic 6.0 Enterprise Edition Service Pack 3, Microsoft Visual Basic 6.0 Enterprise Edition Service Pack 4, Microsoft Visual Basic 6.0 专业版

  • kbnosurvey kbarchive kbmt kbhowto KB286817 KbMtzh
反馈