如何在经典 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 文件? 的相关文章

随机推荐

  • 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