我有一个具有以下结构的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+"]";
}
}
xsd
模式文件。您可以在eclipse中获得可以将xml
转换为xsd
的插件。使用jibx
,jaxb
等框架创建架构类。这些库具有将对象转换为xml
的类,反之亦然。