假设我有这个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>
个标记覆盖。
答案 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
如果可以避免使用数组,请不要使用数组!