【发布时间】:2025-11-21 12:10:01
【问题描述】:
我的任务是创建一个工具,该工具可以区分和合并我公司产品的配置文件。配置存储为 XML 或 URL 编码的字符串。我正在寻找一个库,最好是具有与商业软件兼容的许可证的开源库,可以进行这些差异。我们的应用程序是用 C++ 编写的,因此最好使用 C++ 库,但我愿意查看特定于 C# 的库,因为我可以编写一个通过 COM 将其公开给 C++ 的包装器。三向差异是理想的,但双向是可以接受的。如果它了解 XML,那也是一个加分项(因为 XML 节点可以在不更改文档的情况下重新排序等)。有什么图书馆建议吗?我是否应该考虑编写自己的差异工具,以期为其提供格式的语义知识?
感谢this similar question,我已经发现了this google library,这看起来真的很棒,但我仍在寻找其他选择。它似乎还能够以 HTML 格式输出差异(使用我发现之前不知道存在的 <ins> 和 <del> 标签),这可能真的很方便,但它似乎是一个统一的仅差异。我将需要在 Web 浏览器中显示结果,并且可能还必须构建一个界面来在浏览器中进行合并。我不希望库能够帮助完成这些任务,但它必须以适合我在其之上构建它的格式生成输出。我目前正在设想一些类似于 TortoiseMerge 的东西(并排差异,不统一),除了基于浏览器的。任何有关如何呈现此内容的提示/技巧/设计想法也将不胜感激。
【问题讨论】: