我尝试编写一个代码,使用sax读取并保存到xml文件中,但我是新手,所以我不断在标题中收到错误。这是代码:
public void readMoviesFromXML()
{
ArrayList<Movie> lst = new ArrayList<>();
try {
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder documentBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = documentBuilder.parse("movies.xml");
//I get the error at the line just above
Node root = document.getDocumentElement();
NodeList nodeList = root.getChildNodes();
for(int i=0; i<nodeList.getLength(); i++)
{
Node node = nodeList.item(i);
if(node instanceof Element)
{
Element element = (Element) node;
Attr attr = element.getAttributeNode("moviename");
String moviename = attr.getValue();
String title = getNodeValue(element, "name");
String rented = getNodeValue(element, "renttimes");
Movie movie = new Movie(title, Integer.parseInt(rented));
lst.add(movie);
}
}
}catch (Exception e)
{
e.printStackTrace();
}
mm.setMovieMap(lst);
}
xml文件未初始化,我担心这可能是问题所在。 任何帮助表示赞赏。
答案 0 :(得分:0)
您可以尝试使用以下link来解析XML文件。解析文档后,您始终可以将其存储在List或集合或任何数据结构中。 我告诉你,解析XML文档有多种方法,上面的例子中显示了一些技术
答案 1 :(得分:0)
我最终设法搞清楚了。它给了我这个错误,因为文件是空的,所以我用一个元素初始化它并且它工作。