读取XML文件,存储其内容

时间:2013-06-20 19:55:49

标签: java xml xml-parsing portlet

我正在研究一个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>

我想知道最好的办法是什么。我只需要获取每个项目并将它们存储在一个列表中,以便我以后可以很好地显示它们。

有人有任何建议吗? 提前致谢!

2 个答案:

答案 0 :(得分:3)

只需创建项目对象并添加jaxb注释,然后您就可以编组(编写),解组(读取)xml文件。 https://jaxb.java.net/tutorial/

答案 1 :(得分:0)

例如,您可以制作自己的Item课程,其中titleevent_dateevent_start_timeevent_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));


     }
   }
 }