将xml转换为hashmap,反之亦然

问题描述 投票:0回答:1

我有一个具有以下结构的xml架构:

<?xml version="1.0" encoding="UTF-8"?>
<page>
   <body>
      <item attr1="a1" attr2="a2" />
      <item attr1="a1" attr2="a2" attr3="a3" attr4="a4" attr_n="a_n" />
      <item attr1="a1" attr2="a2" attr3="a3" attr4="a4" attr_n="a_n">
         <element1>abc</element1>
         <element2>xyz</element2>
         <element_n>nnn</element_n>
      </item>
   </body>
</page>

item标签可以具有n个已知或未知的属性和元素。同样,它可以具有或可以不具有任何元素。

我想将此xml解析为java pojo,我更喜欢对字段item使用hashmap。它解析其余的内容,但是item的元素/属性未解析。始终为空。关于如何实现这一目标的任何建议将不胜感激。

我的pojo结构如下:

Page.java


public class Page
{
    private Body body;

    public Body getBody ()
    {
        return body;
    }

    public void setBody (Body body)
    {
        this.body = body;
    }

    @Override
    public String toString()
    {
        return "ClassPojo [body = "+body+"]";
    }
}

Body.java


public class Body
{
    private List<Map<String, Object>> item;

    public List<Map<String, Object>> getItem ()
    {
        return item;
    }

    public void setItem (List<Map<String, Object>> item)
    {
        this.item = item;
    }

    @Override
    public String toString()
    {
        return "ClassPojo [item = "+item+"]";
    }
}

java xml spring-boot xml-parsing
1个回答
0
投票
创建xsd模式文件。您可以在eclipse中获得可以将xml转换为xsd的插件。使用jibxjaxb等框架创建架构类。这些库具有将对象转换为xml的类,反之亦然。
© www.soinside.com 2019 - 2024. All rights reserved.