跳轉到內容

XQuery/比較兩個 XML 檔案

來自華夏公益教科書

您想要比較兩個 XML 檔案。如果檔案相同,您希望返回 **true**,否則希望返回 **false**。請注意,如果您想檢視差異,請參閱 XQuery/XML 差異 示例。

我們將使用 eXist 中內建的 xdiff:compare() 函式。要使用它,您需要將兩個節點傳遞給 compare 函式

xdiff:compare($node1 as node(), $node2 as node())

示例原始碼

[編輯 | 編輯原始碼]

假設您有兩個不同的 XML 檔案

xquery version "1.0";
import module namespace xdiff="http://exist-db.org/xquery/xmldiff"  at "java:org.exist.xquery.modules.xmldiff.XmlDiffModule"; 

let $doc1 := '/db/apps/xml-diffs/data/diff1.xml'
let $doc2 := '/db/apps/xml-diffs/data/diff2.xml'

return
<results>
   <result>diff of 1,1: {xdiff:compare(doc($doc1), doc($doc1))}</result>
   <result>diff of 1,2: {xdiff:compare(doc($doc1), doc($doc2))}</result>
   <result>diff of 2,2: {xdiff:compare(doc($doc2), doc($doc2))}</result>
</results>

結果將是:<syntaxhighlight lang="xml"> <results>

  <result>diff of 1,1: true</result>
  <result>diff of 1,2: false</result>
  <result>diff of 2,2: true</result>

</results> </source >

華夏公益教科書