XML解析为Java Object List <map <string,string>&gt; sqlParams;

时间:2017-01-24 07:41:28

标签: java xml

在我的一个项目中,我有一个场景,我将获得一个包含sql参数的xml文件,我必须从中读取并构造Java对象。

以下是示例xml

<parameters>
    <sql id="1">
        <city>Chennai</city>
        <state>Tamilnadu</state>
    </sql>
    <sql id="2">
        <city>Mumbai</city>
        <state>Maharashtra</state>
    </sql>
    <sql id="3">
        <city>Kolkata</city>
        <state>West Bengal</state>
    </sql>
</parameters>

我必须从这些xml中解析并获取键和值。 我期待的Java对象是

List<Map<String,String>> sqlParams;
Map sqlOne; sqlOne.put(city,Chennai); sqlOne.put(state,Tamilnadu); sqlParams.add(sqlOne);
Map sqlTwo; sqlTwo.put(city,Mumbai); sqlTwo.put(state,Maharashtra); sqlParams.add(sqlTwo);

依旧......

我们使用此地图列表来运行SQL。 有人可以建议我更好的方法来做到这一点。

2 个答案:

答案 0 :(得分:0)

要解析java对象中的xml,可以查看本文档。 http://docs.oracle.com/javase/8/docs/technotes/guides/xml/index.html

答案 1 :(得分:0)

一种非常快捷方便的XML映射方法是使用一些现有的库,如Jackson。 它的用法非常简单。您编写一个普通的对象类,如示例:

public class Simple {
    public int x = 1;
    public int y = 2;
}

映射这样的结构:

<Simple>
  <x>1</x>
  <y>2</y>
</Simple>

安装库后,您可以直观地了解如何映射数据结构。 我建议你的下一个项目使用一些项目管理工具(比如maven或gradle),它允许你轻松地导入这些任务的库,并花一些时间来研究如何实现数据库查询。你可能只想把JPA作为一个起点。