错误的xml格式:空格错误

时间:2012-12-28 11:51:19

标签: java xml inputstream

我为提出同样的问题而道歉,但根据我的研究,它似乎在不同的背景下。我知道为什么错误即将来临,但是如果不去寻找和关注一些编程论坛,我就无法根除它。我的程序如下:我正在ping一个url并打开输入流,然后该流被写入xml文件。之后我使用Xpath提取一些进一步用于某些计算的信息。我的代码如下:

    URL u=new URL("url here");
    HttpURLConnection con=(HttpURLConnection)u.openConnection();
    InputStream is=con.getInputStream();
    BufferedInputStream br=new BufferedInputStream(is);

    File f=new File("data.xml");
    if(f.exists())f.delete();
    f.createNewFile();
    byte data[] = new byte[1024];
    int count;
    FileOutputStream fout = new FileOutputStream(f);
    while((count = br.read(data,0,1024)) != -1)
    {
            fout.write(data, 0, count);
    }
    fout.close();

    DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
    DocumentBuilder db=dbf.newDocumentBuilder();
    Document doc=db.parse("data.xml");

    XPathFactory  factory=XPathFactory.newInstance();
    XPath xPath=factory.newXPath();
    XPathExpression expr = xPath.compile("//tr/text()");
    Object result = expr.evaluate(doc, XPathConstants.NODESET);
    NodeList nodes = (NodeList) result;
    for (int i = 0; i < nodes.getLength(); i++) {
        System.out.println(nodes.item(i).getNodeValue());
    }

执行此代码时,我得到: publicId和systemId之间需要空格。 由于我直接写入文件,可能会出现此空格错误?

1 个答案:

答案 0 :(得分:0)

看起来您之前编写的XML文件无效,这就是解析文件时出错的原因。标准的XML解析框架只接受格式良好的有效XML。

如果你想使用无效的,可能是不平衡的HTML标签,我推荐使用JSoup,因为它可以处理无效的XML。