Java:基于元素数量的XML数据保存

时间:2015-09-24 13:13:40

标签: java xml collections

假设我有这个XML文件: -

<logExtract>
    <query id="1">
        <otsdb_elements>
            <metricname>linecount</metricname>
            <tags>splunk_server</tags>
        </otsdb_elements>
    <splunk_query>
        <query_syn>index=_internal source=*/splunkd_access.log |head 10000</query_syn>
    </splunk_query>
</query>
<query id="2">
    <otsdb_elements>
        <metricname>line_count</metricname>
        <tags>splunk_server1</tags>
    </otsdb_elements>
    <splunk_query>
        <query_syn>index=_internal source=*/splunkd_access.log |head 100</query_syn>
    </splunk_query>
</query>

假设我从XML解析这些数据,我想将这个XML文件中的数据保存到变量(数组,列表,散列图等)。

实施例

a[0][0]=1

a[0][1]=linecount

a[0][2]=splunk_server

a[0][3]=index=....

b[0][0]=2

b[0][1]=line_count

b[0][2]=splunk_server1

b[0][3]=index=....

FYI : - 这里的数组表示只是例如。我不知道要使用哪个Java Collection。

要使用什么Java Collection?怎么样?

FYI : - 如果我解析数据并直接将它们添加到HaspMap中,它将被最后<query>个标记覆盖。

1 个答案:

答案 0 :(得分:0)

要使用哪个集合取决于您要对集合执行的操作。您的要求将决定选择。但是不要限制自己收藏。使用类来构造数据,否则最终可能会出现List<List<List<T>>>[ {id: '001995',title: 'Victor'}, {id: '000078',title: 'Jhon'} ] 等混乱。

我建议查看JAXB以简化XML的使用: https://docs.oracle.com/javase/tutorial/jaxb/intro/arch.html

如果可以避免使用数组,请不要使用数组!