我是XML解析的新手,我试图在XML之后检索数据并将其保存在hashmap中。我希望每个字段中的描述,ID和名称保存在Hashmap中。
<Entities TotalResults="13689">
<Entity Type="test">
<Fields>
<Field Name="description">
<Value>I want to print THIS</Value>
</Field>
<Field Name="id"><Value>1357</Value></Field>
<Field Name="vc-comments"><Value></Value></Field>
<Field Name="name">
<Value>locked manager - lock state</Value>
</Field>
<Field Name="has-linkage"><Value>N</Value></Field>
</Fields>
</Entity>
<Entity Type="test">
<Fields>
<Field Name="description"><Value>Print this</Value></Field>
<Field Name="user-06"><Value></Value></Field>
<Field Name="id"><Value>1358</Value></Field>
<Field Name="name">
<Value>locked manager - stealing a key </Value>
</Field>
<Field Name="vc-status"><Value></Value></Field>
</Fields>
</Entity>
</Entities>
答案 0 :(得分:3)
当你不知道字段
时,你应该使用哈希映射你问题的方式就是建立 一个pojo课 像这样
public class MyPojo
{
private Entities Entities;
public Entities getEntities ()
{
return Entities;
}
public void setEntities (Entities Entities)
{
this.Entities = Entities;
}
@Override
public String toString()
{
return "ClassPojo [Entities = "+Entities+"]";
}
}
public class Entities
{
private String TotalResults;
private Entity[] Entity;//you can use List<> insted
public String getTotalResults ()
{
return TotalResults;
}
public void setTotalResults (String TotalResults)
{
this.TotalResults = TotalResults;
}
public Entity[] getEntity ()
{
return Entity;
}
public void setEntity (Entity[] Entity)
{
this.Entity = Entity;
}
@Override
public String toString()
{
return "ClassPojo [TotalResults = "+TotalResults+", Entity = "+Entity+"]";
}
}
我已经制作了2个pojos以便您更好地理解
您可以创建与xml相关的其余部分。 稍后您可以使用
File file = new File("My.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(MyPojo.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
MyPojo myPojo = (MyPojo) jaxbUnmarshaller.unmarshal(file);
System.out.println(myPojo);//get your value with getter setter.
//可以检索描述,ID和名称。
通常,您使用Collection(List,Map,Set)来存储对象 具有相似特征,这就是仿制药存在的原因。
答案 1 :(得分:1)
您可以访问本教程,以便在java中解析XML文件 XML Parsing In Java
然后你只需要存储在一个hashmap中。