在xml中写html文件,怎样把两个xml文件都在一个html网页上显示出来呢?我写的只会执行最后一个。...

怎样把两个xml文件都在一个html网页上显示出来呢?我写的只会执行最后一个。

Product List:

var xhttp = new XMLHttpRequest();

xhttp.onreadystatechange = function() {

if (this.readyState == 4 && this.status == 200) {

myFunction(this);

} };

xhttp.open("GET", "categories.xml", true);

xhttp.send();

function myFunction(xml) {

var xmlDoc = xml.responseXML;

var txt = "";

x = xmlDoc.getElementsByTagName("Categories")[1];

var categories = get_categories(x);

document.getElementById("categories").innerHTML = categories.nodeName;

document.getElementById("categories").innerHTML = "categories: " + categories.nodeName + " " + categories.firstChild.nodeValue;

return categories;

}

function get_categories(n){

var y = n.firstChild;

while (y.nodeType !=1){

y = y.nextSibling;

}

return y;

}

var xhttpx = new XMLHttpRequest();

xhttpx.onreadystatechange = function() {

if (this.readyState == 4 && this.status == 200){

myFunction(this);

}

}

xhttpx.open("GET", "products.xml",true);

xhttpx.send();

function myFunction(xml) {

var xmlDoc = xml.responseXML;

var txt = "";

x = xmlDoc.getElementsByTagName("Products")[1];

var products = get_products(x);

document.getElementById("products").innerHTML = products.nodeName;

document.getElementById("products").innerHTML = "products: "+ products.nodeName + " " +products.firstChild.nodeValue;

return products;

}

function get_products(n){

var z = n.lastChild;

while (z.nodeType !=1) {

z = z.previousSibling;

}

return z;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个使用java-diff-utils实现两个文件夹对比的Groovy脚本,将差异结果输出到HTML文件中: ```groovy @Grab(group='com.googlecode.java-diff-utils', module='diffutils', version='1.3.0') import difflib.* import java.nio.file.* import java.nio.charset.* import groovy.json.* import groovy.xml.* def compareFolders(String folder1, String folder2, String outputHtml) { // 获取两个文件夹中的所有文件 def folder1Files = new File(folder1).listFiles() def folder2Files = new File(folder2).listFiles() // 定义差异结果数组 def diffs = [] // 遍历folder1中的文件 folder1Files.each { file1 -> // 获取folder2中对应的文件 def file2 = new File(folder2, file1.name) if (file2.exists()) { // 如果文件两个文件夹中都存在,执行比较 def diff = compareFiles(file1, file2) if (diff) { // 如果有差异,将差异结果加入数组中 diffs << [name: file1.getName(), diff: diff] } } else { // 如果文件只在folder1中存在,将结果输出到HTML中 diffs << [name: file1.getName(), diff: [onlyInFolder1: true]] } } // 遍历folder2中的文件,找到只在folder2中存在的文件 folder2Files.each { file2 -> def file1 = new File(folder1, file2.name) if (!file1.exists()) { // 如果文件只在folder2中存在,将结果输出到HTML中 diffs << [name: file2.getName(), diff: [onlyInFolder2: true]] } } // 将差异结果输出到HTML文件中 outputDiffs(diffs, outputHtml) } def compareFiles(File file1, File file2) { // 读取文件内容 def content1 = file1.text def content2 = file2.text // 使用java-diff-utils比较文件内容 def patch = DiffUtils.diff(content1.tokenize("\n"), content2.tokenize("\n")) if (patch.getDeltas().size() > 0) { // 如果有差异,将差异结果输出为字符串 def diffText = patch.getDeltas().collect { delta -> def text = delta.getOriginal().join(",") "<span style='background-color: #ffcccc;'>${text}</span>" }.join(",") return diffText } else { // 如果没有差异,返回null return null } } def outputDiffs(List diffs, String outputHtml) { // 将差异结果转换为HTML def html = new StringWriter().with { writer -> def builder = new MarkupBuilder(writer) builder.html { head { title "Folder Comparison" } body { table { thead { tr { th "Filename" th "Diff" } } tbody { diffs.each { diff -> tr { td diff.name td { if (diff.diff.onlyInFolder1) { "Only in Folder 1" } else if (diff.diff.onlyInFolder2) { "Only in Folder 2" } else { "${diff.diff}" } } } } } } } } writer.toString() } // 将HTML输出到文件中 new File(outputHtml).write(html) } // 调用函数进行对比 compareFolders("folder1", "folder2", "diff.html") ``` 请注意,这个脚本是使用Groovy编的,但是它可以轻松地转换为Java,并且可以在Katalon Studio中使用。如果您使用Katalon Studio,可以将此脚本保存为“Script Mode”中的Groovy脚本,并使用以下代码段来调用: ```groovy import com.kms.katalon.core.util.KeywordUtil KeywordUtil.logInfo("Comparing folders...") compareFolders("folder1", "folder2", "diff.html") KeywordUtil.logInfo("Comparison complete.") ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值