SaxParserException文件过早结束

时间:2016-04-05 05:23:57

标签: sax

我尝试编写一个代码,使用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文件未初始化,我担心这可能是问题所在。 任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

您可以尝试使用以下link来解析XML文件。解析文档后,您始终可以将其存储在List或集合或任何数据结构中。 我告诉你,解析XML文档有多种方法,上面的例子中显示了一些技术

答案 1 :(得分:0)

我最终设法搞清楚了。它给了我这个错误,因为文件是空的,所以我用一个元素初始化它并且它工作。