gpt4 book ai didi

java - 比较两个 xml 文件中的特定元素 -- 在 java 中

转载 作者:行者123 更新时间:2023-12-02 08:16:21 29 4
gpt4 key购买 nike

我尝试尽可能长时间地避免问这个问题...但我还没有找到任何可以完美满足我需求的东西,现在是我完成这个项目的时候了。

这就是我需要的:

我正在制作一个应用程序,它基本上可以比较两个 xml 文档,然后对其中一个文档进行细微更改。我有一个模板xml,然后其他xml文件每次都会改变。我只需确定模板中的关键元素是否在另一个文件中。任何额外的内容都可以忽略,但缺少的关键元素应该添加。

视觉表现:

模板

<root attribute="asd">
<a />
<b>
<c asdf="fdsa" />
</b>
</root>

其他 xml

<root>
<a d="wer" />
<b>
<c />
<b>
<d />
</root>

最终结果:

<root attribute="asd">
<a d="wer" />
<b>
<c asdf="fdsa" />
</b>
<d />
</root>

我的问题:

有没有什么方法可以实现这个最终结果,而无需费力地检查每个关键元素并确保它们存在?我研究过 XPath,这似乎是迄今为止我最好的解决方案,只需检查是否存在必要的部分,然后添加它们(如果不存在)(我将创建一个新文件,因此用新的元素并不是很麻烦)。但是,由于我必须检查很多事情,所以我宁愿不这样做。我还查看了 XMLUnit 和 XOM,但它们似乎更适合比较和告诉我差异(包括添加了额外的行,我对此不感兴趣)。

那么,有什么好主意来实现两行代码并让它神奇地完成自己吗?因为那太好了:)

最佳答案

我想,您应该能够使用 XSLT 来做到这一点。不是两行代码 - 根本没有代码,只是 XSLT 文件中合并启发式的适当定义。

查看讨论和解决的类似问题 here .

关于java - 比较两个 xml 文件中的特定元素 -- 在 java 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6360048/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com