通过 URL 分享结果
Compare XML 可以将对比输入编码到 URL 查询参数中,让你无需通过服务器发送 XML,就能与团队成员分享差异结果,或从文档中链接到某个对比。
URL 分享原理
所有分享都通过 /result 页面完成。该页面会读取 base 和 contrast 查询参数,解码后自动运行对比。
https://comparexml.com/result?base=...&contrast=...
由于对比在浏览器中运行,分享的 URL 包含原始数据或指向数据的链接,而不是服务器端快照。
方法一:从文件 URL 加载 XML
在 base 和 contrast 参数中传入可公开访问的 XML 文件 URL。
https://comparexml.com/result?base=https://comparexml.com/example_data/demo.base.xml&contrast=https://comparexml.com/example_data/demo.contrast.xml
结果页加载时会抓取两个 URL 并自动对比其中的 XML 内容。这种方式 URL 更短,适合分享存储在版本控制或云存储中的文件对比。
方法二:从 Base64 加载 XML
将每个 XML 文档编码为 Base64 字符串,直接放入 URL。
<root>
<base>base base64String</base>
</root>
<root>
<contrast>contrast base64String</contrast>
</root>
编码后的 Base64 值可生成如下可分享 URL:
https://comparexml.com/result?base=PHJvb3Q+PGJhc2U+YmFzZSBiYXNlNjRTdHJpbmc8L2Jhc2U+PC9yb290Pg==&contrast=PHJvb3Q+PGNvbnRyYXN0PmNvbnRyYXN0IGJhc2U2NFN0cmluZzwvY29udHJhc3Q+PC9yb290Pg==
你可以使用 base-64.com 编码自己的 XML。这种方式自包含,适用于任何可以 Base64 编码的 XML。需要注意的是,非常大的 XML 值会生成很长的 URL。
安全与隐私
- 分享的 URL 包含 XML 数据或指向数据的链接,请只分享给需要访问的人。
- 远程 XML 文件必须可公开访问,并配置适当的 CORS 响应头。
- Compare XML 不会在服务器上存储对比输入,URL 是唯一的数据传递方式。