我正在研究一个portlet。我基本上有点卡在一个部分,我必须阅读一个XML文件,它将有一堆相同格式的项目:
<item>
<title>Some title</title>
<event_date>Some date</event_date>
<event_start_time>Some start time</event_start_time>
<event_location>Some location</event_location>
</item>
我想知道最好的办法是什么。我只需要获取每个项目并将它们存储在一个列表中,以便我以后可以很好地显示它们。
有人有任何建议吗? 提前致谢!
答案 0 :(得分:3)
只需创建项目对象并添加jaxb注释,然后您就可以编组(编写),解组(读取)xml文件。 https://jaxb.java.net/tutorial/
答案 1 :(得分:0)
例如,您可以制作自己的Item
课程,其中title
,event_date
,event_start_time
和event_location
为变量。
制作一系列物品:
ArrayList <Item> arrayItems = new ArrayList <Item>();
然后,阅读XML:
File fXmlFile = new File("/yourFile.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("item");
for (int i = 0; i < nList.getLength(); i++) {
Node nNode = nList.item(i);
Element eElement = (Element) nNode;
title= eElement.getAttribute("title"));
//event_date, event_start_time, ...
arrayItems.add(i, new Item(title, event_date,event_start_time,event_location));
}
}
}