使用Java解析带有数组的复杂XML

11 浏览
0 Comments

使用Java解析带有数组的复杂XML

我有一个复杂的XML结构,来自第三方。我想解析上述XML文档,并根据相应的值创建一个Map。使用哪个库可以解析复杂的XML?

我尝试了XPath,但是无法得到期望的结果。

我想解析上述XML文档,并根据相应的值创建一个Map,即

AA --> 10,

BB --> 20

等等。我如何在JAVA中实现这一点?

0
0 Comments

在Java中解析复杂的带有数组的XML文件时,可能会遇到以下问题:

问题原因:XML文件中的数据结构包含了数组,而Java默认的XML解析器无法直接处理这种数组结构。

解决方法:可以使用XSLT-1.0模板来解析XML文件,并进行特定的映射操作。上述给出的XSLT模板就是一个解决方案,它能将/OBJECT/Books节点中的值映射到/OBJECT/BookRates/节点中的值。具体实现方法是通过创建一个键值对,键为substring-after(local-name(),'Item')。然后使用XSLT模板的输出结果,可以得到如下所示的文本输出:

AA --> 10

BB --> 20

CC --> 30

DD --> 40

EE --> 50

FF --> 60

在Java中,可以从上述输出结果中提取出标记为Mapping keyMapping value的值,以便进一步处理。

以上就是解决在Java中解析复杂带有数组的XML文件的问题的方法。通过使用XSLT模板,可以将XML文件中的数组结构映射为Java中的键值对,从而实现对复杂XML文件的解析和处理。

0