-1

我想比较 2 个 XML,它们具有相同的数据,但标签名称不同。我需要比较两个(输入和输出)并使用 JAVA 显示结果。

例如。

XML 1

<hometown>newyork</hometown>
...

XML 2

<city>newyork</city>

我需要验证hometownXML 1 中的标记值是否与 XML 2 中的标记值相同city

有没有人有什么建议?

4

2 回答 2

1

这个问题相当广泛。鉴于提供的信息,我认为使用 DOM 或 JDOM 等文档树的内存表示是一个好主意。在比较具有不同结构的文档时,像 StAX 或 SAX 这样的流解析器将更难使用。如果两种格式都具有相似的表现力,另一种方法是使用 XML 转换将一个文档转换为另一个文档的格式。然后将两者规范化,然后进行直接的文本差异。

于 2012-05-28T13:22:01.007 回答
1

好吧,我采取了一种方法,例如,我创建了一个映射文档,它说明输入中的哪个标签映射到输出中的哪个标签。然后我解析输入和输出 XML 并将它们转换为 HashMap(键值对)。现在,当我想比较输入 XML 中的值时,我会遍历 inputTags 列表并从映射表中搜索标签的对应项,一旦获得输入和输出标签的值,我就会比较它并发布结果

于 2012-06-19T21:53:44.823 回答