2013-06-20 114 views
1

我正在使用portlet。我基本上是在一个部分的一个小地方卡住我要读这将有相同的格式一堆项目的XML文件:读取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> 

我想知道什么是最好的方式做到这一点了。我只需要获得这些项目中的每一个,并将它们存储在一个列表中,以便稍后可以很好地显示它们。

有没有人有任何建议? 在此先感谢!

+1

看一看JAXP(DOM),DOM4J或JDOM解析API。 –

+1

使用JAXB;那么你将不必编写任何繁琐的解析代码。 – rob

回答

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)); 


    } 
    } 
} 
相关问题