如何在经典 ASP 中合并两个 XML 文件?

2024-02-17

我在我的项目中使用经典 ASP。我想将两个 XML 合并在一起。我该怎么做呢?下面是我的示例代码:

XML 1

<CATALOG>
<CD>
  <TITLE>1</TITLE> 
  <ARTIST>Bob Dylan</ARTIST> 
  <COUNTRY>USA</COUNTRY> 
  <COMPANY>Columbia</COMPANY> 
  <PRICE>10.90</PRICE> 
  <YEAR>1985</YEAR> 
</CD>
<CD>
  <TITLE>2</TITLE> 
  <ARTIST>Bonnie Tyler</ARTIST> 
  <COUNTRY>UK</COUNTRY> 
  <COMPANY>CBS Records</COMPANY> 
  <PRICE>9.90</PRICE> 
  <YEAR>1988</YEAR> 
</CD>
<CD>
  <TITLE>3</TITLE> 
  <ARTIST>Dolly Parton</ARTIST> 
  <COUNTRY>USA</COUNTRY> 
  <COMPANY>RCA</COMPANY> 
  <PRICE>9.90</PRICE> 
  <YEAR>1982</YEAR> 
</CD>
</CATALOG>

XML2

<CATALOG>
<CD>
  <TITLE>4</TITLE> 
  <ARTIST>Gary Moore</ARTIST> 
  <COUNTRY>UK</COUNTRY> 
  <COMPANY>Virgin records</COMPANY> 
  <PRICE>10.20</PRICE> 
  <YEAR>1990</YEAR> 
</CD>
<CD>
  <TITLE>5</TITLE> 
  <ARTIST>Eros Ramazzotti</ARTIST> 
  <COUNTRY>EU</COUNTRY> 
  <COMPANY>BMG</COMPANY> 
  <PRICE>9.90</PRICE> 
  <YEAR>1997</YEAR> 
</CD>
<CD>
  <TITLE>6</TITLE> 
  <ARTIST>Bee Gees</ARTIST> 
  <COUNTRY>UK</COUNTRY> 
  <COMPANY>Polydor</COMPANY> 
  <PRICE>10.90</PRICE> 
  <YEAR>1998</YEAR> 
</CD>
</CATALOG>

这是我目前使用的 ASP 代码:

Dim doc1      ''# As MSXML2.DOMDocument30
Dim doc2      ''# As MSXML2.DOMDocument30
Dim doc2Node  ''# As MSXML2.IXMLDOMNode

Set doc1 = createobject("MSXML2.DOMDocument.3.0")
Set doc2 = createobject("MSXML2.DOMDocument.3.0")

doc1.Load "01.xml"
doc2.Load "02.xml"

For Each doc2Node In doc2.documentElement.childNodes 
 doc1.documentElement.appendChild doc2Node
Next

response.write  doc1.xml

但现在我收到一个错误:



Microsoft VBScript runtime error '800a01a8' 

Object required: 'documentElement'
  

扩展 Jørn Schou-Rode 的答案:

<%
Dim doc1    'As MSXML2.DOMDocument30
Dim doc2    'As MSXML2.DOMDocument30
Dim doc2Node    'As MSXML2.IXMLDOMNode

Set doc1 = createobject("MSXML2.DOMDocument.3.0")
Set doc2 = createobject("MSXML2.DOMDocument.3.0")

doc1.Load "01.xml"
doc2.Load "02.xml"

Response.Write ( doc1.xml.Replace("</CATALOG>", doc2.xml.Replace( "<?xml version="1.0" encoding="ISO-8859-1" ?>","").Replace("<CATALOG>","") )

%>

这将用 doc2.xml 替换 doc1.xml 中的标记,而无需前两行,但同样,仅适用于拥有这两个 xml 文件且它们不包含重复节点的情况。

您可以使用 FileSystemObject 读取文件,这会更快,但在 DOM 中加载它的好处是它只会加载格式良好的 xml。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在经典 ASP 中合并两个 XML 文件? 的相关文章

  • JavaFX 中的 fx:id 和 id: 有什么区别?

    也许是一个真正的新手的问题 我开始通过阅读以下教程在 FMXL 应用程序中使用场景生成器学习 JavaFX http docs oracle com javase 8 javafx get started tutorial fxml tut
  • VBScript:从 Scripting.Dictionary 中对项目进行排序

    我有下面的代码 它获取这样的数据 姓名 1 姓名 4 姓名 2 姓名 3 并像这样列出 是一个复选框 姓名 1 姓名 4 姓名 2 姓名 3
  • MSMQ接收和删除

    是否有任何选项可以在读取消息后将其从 MSMQ 中删除 比如 接收 删除可以作为原子操作运行吗 听起来您想查看下一条消息 然后在处理完成后接收它 Message message Queue Peek Queue ReceiveById me
  • 单元测试报告的 XML 格式规范(DTD、XSD..)

    许多工具为单元测试报告生成和使用相同的 XML 文件格式 例子 source http junitpdfreport cvs sourceforge net junitpdfreport src resources examples tes
  • Android:默认 XML 编辑器不再打开 [不支持的内容类型错误]

    我使用 Eclipse 在 Android 中开发应用程序已经有一段时间了 我最近将Android SDK平台更新到3 0 API 11 现在 我无法通过双击打开 AndroidManifest xml 或 Layout 文件夹中的任何其他
  • 如何设置任务在使用 vbs 登录时以当前用户身份运行而无需管理员权限?

    从命令行 我可以创建一个在登录时运行的计划任务 无需管理员权限或用户输入密码来设置任务 但是我必须使用 xml 文件来执行此操作 下面是一个示例 xml 其中 Domain User 部分必须在运行时替换为当前用户的域和名称
  • 使用 dpi 与 dp 缩放图像之间的差异

    我拥有所有由九个补丁位图组成的 dpi 可绘制目录 xxhdpi 和 xxxhdpi 是否必要 可绘制目录中的可绘制资源文件可检索所有缩放的位图 并且我使用可绘制资源文件 现在 我的问题是我还根据大小 小 正常等 创建了 缩放 布局目录 其
  • 在 JAVA 中使用 SAX 解析器从 XML 文件中提取文本节点

    因此 我目前正在使用 SAX 尝试从我正在处理的大量 xml 文档中提取一些信息 到目前为止 提取属性值确实很容易 但是 我不知道如何从文本节点中提取实际值 例如 在给定的 XML 文档中
  • SpreadsheetML 文件扩展名被 IE 和 FF 更改 - 内容类型错误?

    我正在 PHP 中生成 SpreadsheetML 文件 当用户下载文件并保存时 默认情况下文件会另存为 Report xml 并在 Excel 中打开 但是 如果选择在 Excel 中打开文件而不是保存文件 则文件名将更改为 Report
  • 使用参数将变量从 vbscript 传递到批处理文件

    请问如何将 inp 变量从这段 vb 传递到我的名为 job bat 的批处理 确实 在从 job bat 进行回显 echo 2 时 我注意到 inp 未正确传递 提示命令视图 inp而不是从 vbs 检索到的值 谢谢 For Each
  • 如何使用C#在asp.net中下载xml文件

    我正在使用网络应用程序ASP NET 与 MVC3 我是 mvc3 的新手 我的网页上有一个下载按钮 当我要单击下载按钮时 我希望能够打开该 XML 文件 我尝试过一些代码更改动作结果但我没有打开文件 通过使用下面提到的代码 我收到一个下载
  • XSLT:选择与其他示例不同但略有不同的

    我有以下 XML a b b a
  • JAXB 不会解组接口列表

    看来 JAXB 无法读取它所写的内容 考虑以下代码 interface IFoo void jump XmlRootElement class Bar implements IFoo XmlElement public String y p
  • 菜单未显示在应用程序中

    由于某种原因 我的操作菜单在我的 Android Studio 应用程序中消失了 我正在按照教程学习如何创建 Android 应用程序 但最终遇到了这个问题 我正在使用 atm 的教程 http www raywenderlich com
  • 在 bash 脚本中提取 XML 值 [重复]

    这个问题在这里已经有答案了 我正在尝试从 xml 文档中提取一个值 该文档已作为变量读入我的脚本中 原始变量 data is
  • SQL服务器超时

    我的应用程序是在经典 asp 上开发的 但也使用 asp net 因为我正在将应用程序迁移到 Net 上 它使用 SQL Server 作为数据库并托管在 Windows Server 2003 上 现在的问题是应用程序在很长一段时间内继续
  • 我可以在 XSLT 中创建模板吗?

    我想使用 XSLT 从 XML 创建 ASP NET 用户控件 目前我真的把结果一点一点地拼凑起来
  • 如何更换HXT中的节点?

    给定一个示例 xml 文件
  • 使用 xmllint 检查 XML 语法

    我在处理某些 XML 打印文件时遇到问题 其中源系统忽略将某些字符转换为其等效的 XML 语法 例如 未转换为 amp 有没有办法用 xmllint 捕获这个 我不需要使用 XSD 检查一般树结构 xmllint noout your te
  • 从基本表单加上 XML 生成自定义表单文档?

    这是我的第一次堆栈溢出 而且很复杂 对不起 我的任务是从基本模板和一些 XML 生成自定义文档without每种情况都有一个自定义表单设计元素 Here s 整个画面 我们正在构建一个 Lotus Notes 客户端 而不是 Web 应用程

随机推荐

  • Hello World 通过一个系统调用打印两条消息?为什么 length equ $-msg1 包括两者? [复制]

    这个问题在这里已经有答案了 section text global start start mov ebx 1 mov eax 4 mov ecx msg1 mov edx len1 int 0x80 mov eax 1 exit mov
  • jQuery 通过 Google CDN 最佳实践

    我使用以下代码通过 Google 的 CDN 加载 jQuery 我的主要问题是 如果用户访问我的网站并且尚未预缓存 jQuery 将会发生什么情况 他会下载 Google 版本和我自己的版本吗 这里的并发是如何工作的
  • 如何在詹金斯中仅保留红色构建

    如何在作业历史记录中仅保留失败的构建日志 我没有足够的磁盘空间来存储成功和失败的构建 我正在寻找一种简单的方法来在 Linux jenkins 上保留所有红色日志 而不保留任何蓝色 绿色日志 也许需要进行构建后操作 The 丢弃旧版本 ht
  • 访问 LightGBM 模型参数

    有时我会保存 LightGBM 模型 然后在重新加载它时 想要访问有关模型构建方式的一些详细信息 有没有办法恢复这个事实objective regression 例如 为了方便起见 这里是可以使用的简短代码 library lightgbm
  • Nest API iOS 错误

    我正在使用 Nest 开发者https developer nest com https developer nest com 用于创建 iOS 应用程序的 API 有谁知道如何将 Firebase 框架链接到我的应用程序中 我不断收到链接
  • 使用 jquerymobile、c# 和 asp.net 延迟加载 SELECT 元素选项

    我的 jQuery Mobile 页面之一上有一个 SELECT 元素 它有很多可能的值 显然 在页面加载时加载所有选项会引发移动手机的性能问题 按需 加载项目的好方法是什么 我需要的一个例子是Android市场如何加载应用程序列表 最初加
  • Apache Tomcat 中的 JAX-RPC / JAX-WS 运行时

    我正在使用 Apache Tomcat v6 服务器 创建新的 Web 服务时 我获得了 Apache Axis Apache Axis2 和 Apache CXF2 x 的 Web 服务运行时选项 是否可以将运行时设置为 JAX RPC
  • 如何更改 Sinatra 中的日志级别

    我使用此代码在我的 Sinatra 应用程序中启用日志记录 log file File new my log file log a stdout reopen log file stderr reopen log file stdout s
  • Cordova 中的 Google 跟踪代码管理器插件存在问题

    我正在尝试使用 Cordova 的 GTM 插件 https github com kraihn cordova plugin tag manager https github com kraihn cordova plugin tag m
  • Javascript/CSS - 动画持续时间(以像素每秒为单位)

    如何将过渡 动画的持续时间设置为每秒像素 您会看到两个不同的包装纸 其总高度不同 具体取决于其彩色内容 总速度是相同的 由 css 给出transition属性 如果您想要多个具有相同持续时间的动画 那没问题 为了获得更平滑的外观 我想将此
  • QFileDialog 用于具有特定内容的目录

    我想建立一个类似于QFileDialog getExistingDirectory http doc qt nokia com 4 6 qfiledialog html getExistingDirectory仅当所选目录包含某些文件时才启
  • Servlet 和 JSP。一个简单的请求?

    我已经设置了许多 Java 服务器页面 并且我想通过添加 Process Servlet 扩展 HttpServlet 来使用控制器 视图系统 我只想在 ProcessServlet 添加一些属性后基本上正常处理请求的 JSP 假设我的所有
  • 为什么在 MySQL 中打开连接会引发分布式事务错误? (.NET 连接器)

    我正在打开与本地 MySQL 服务器的连接 并在connection Open 方法它抛出这个错误 System NotSupportedException MySQL Connector Net 当前不支持分布式事务 在MySql Dat
  • psql 提示符中的颜色

    当我向提示添加颜色时浏览历史记录时 提示后出现垃圾箱 我已经尝试了建议的颜色提示命令Postgres 文档 http www postgresql org docs 9 3 interactive app psql html set PRO
  • CSS 中的响应式输入字段 - 流体宽度?

    我正在尝试使以下注册框在 CSS 中流畅响应 这是一个例子 http cssdesk com aYLwW http cssdesk com aYLwW 我希望输入字段宽度 灵活 并根据页面缩小 您可以从示例中看到 当我缩小窗口时 按钮最终会
  • 如何在 gnuplot 中绘制蜘蛛图?

    假设我的数据采用以下形式 atom a b c 43 1 2 1 3 1 4 44 1 2 1 4 1 8 45 1 3 1 8 1 9 46 2 0 2 3 2 4 47 1 5 1 6 1 8 我想要一个像这样的情节http www r
  • 数字格式,如有需要,带有千位分隔符和小数点

    我正在尝试创建一种自定义格式 以便数字将以逗号作为千位分隔符显示 我正在努力寻找解决方案 通过尝试和错误以及搜索 带小数点如果这个数字有一个 但是没有小数点如果数字是整数 这是我想要实现的目标 123 显示为 123 1234 显示为 1
  • 如何为 webview 启用过期标头缓存

    我正在构建一个由菜单和网络视图组成的应用程序 当用户选择菜单项时 webview 应该加载相应的 html 文件 到目前为止 一切都很好 现在我遇到了 每次我按下菜单项时 webview 都会请求 html 我想在一个会话中只加载一次 ht
  • 更新 DB2 for iSeries 表时出现错误 SQL7008

    我有一个使用 Hibernate 和 DB2 的 Java Web 应用程序iSeries在更新表期间我收到以下错误 更新 DB2 时出现错误 SQL7008 i系列表 通过对此错误消息进行一些谷歌搜索 我注意到当您在非事务模式下运行插入
  • 如何在经典 ASP 中合并两个 XML 文件?

    我在我的项目中使用经典 ASP 我想将两个 XML 合并在一起 我该怎么做呢 下面是我的示例代码 XML 1