我想比较两个xml的忽略子命令 例如:
File1.xml 一个 12
File2.xml 12 一个
必须忽略顺序并比较文件。
我尝试使用代码,但它不会忽略排序 设置doc = XMLUtil.CreateXML()
On error resume next
doc.LoadFile strF1
intErr1 = err.number
Set doc1 = xmlutil.CreateXML()
doc1.Load doc.ToString
err.clear
Set docX = XMLUtil.CreateXML()
On error resume next
docX.LoadFile strF2
intErr2 = err.number
Set doc2 = xmlutil.CreateXML()
doc2.Load docX.ToString
res = doc1.Compare(doc2,resultDoc)
print res
答案 0 :(得分:0)
您想要做的事实上实现起来实际上相当复杂。要进行比较但要容忍差异会很快变得混乱 你真的想要第三方库来实现它。
但是,如果文件预期完全相同,除了元素的顺序,那么我建议按字母顺序对文件进行排序并比较这种方式。既然你在问题中指明了这一切,那就应该没问题了。
要做到这一点,你可以通过换行符将xml的字符串拆分成一个行数组并进行冒泡排序:
for a = UBound(linearray) - 1 To 0 Step -1
for j= 0 to a
if linearray(j)>linearray(j+1) then
temp=linearray(j+1)
linearray(j+1)=linearray(j)
linearray(j)=temp
end if
next
next
对每个数据字符串重复一遍,你的字符串应匹配。