gpt4 book ai didi

java - 在 Java 中比较 2 个 XML 文档的最佳方法

转载 作者:IT老高 更新时间:2023-10-28 12:18:14 31 4
gpt4 key购买 nike

我正在尝试编写一个应用程序的自动化测试,它基本上将自定义消息格式转换为 XML 消息并将其发送到另一端。我有一组很好的输入/输出消息对,所以我需要做的就是发送输入消息并监听 XML 消息从另一端出来。

当需要将实际输出与预期输出进行比较时,我遇到了一些问题。我的第一个想法就是对预期和实际消息进行字符串比较。这并不能很好地工作,因为我们拥有的示例数据的格式并不总是一致的,并且经常有不同的别名用于 XML 命名空间(有时根本不使用命名空间。)

我知道我可以解析两个字符串,然后遍历每个元素并自己比较它们,这不会太难做到,但我觉得有更好的方法或我可以利用的库。

所以,归根结底,问题是:

给定两个都包含有效 XML 的 Java 字符串,您将如何确定它们在语义上是否等效?如果您有办法确定差异是什么,则可以加分。

最佳答案

听起来像是 XMLUnit 的工作

例子:

public class SomeTest extends XMLTestCase {
@Test
public void test() {
String xml1 = ...
String xml2 = ...

XMLUnit.setIgnoreWhitespace(true); // ignore whitespace differences

// can also compare xml Documents, InputSources, Readers, Diffs
assertXMLEqual(xml1, xml2); // assertXMLEquals comes from XMLTestCase
}
}

关于java - 在 Java 中比较 2 个 XML 文档的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/141993/

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