Java SaxParseException提前结束文件

Java SaxParseException提前结束文件,java,xml,io,Java,Xml,Io,实际上这个问题是解析(xml)的。我收到错误消息“文件过早结束”第一次记录添加xmlfile。我找不到真正的解决方案。请帮助我 File xml = new File("C:/members.xml"); DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory .newInstance(); DocumentBuilder docu

实际上这个问题是解析(xml)的。我收到错误消息“文件过早结束”第一次记录添加xmlfile。我找不到真正的解决方案。请帮助我

        File xml = new File("C:/members.xml");
        DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory
                .newInstance();
        DocumentBuilder documentBuilder = documentBuilderFactory
                .newDocumentBuilder();
        documentBuilder = documentBuilderFactory.newDocumentBuilder();

        Document document = documentBuilder.parse(xml);


        document.getDocumentElement().normalize();

        NodeList nodeList = document.getElementsByTagName("member");

A.
A.
A.
0
a@a.com
A.
A.

您的示例有问题-以下代码运行时没有错误:

    <?xml version="1.0" encoding="UTF-8"?>
    <members>
        <member id="0">
            <name>a</name>
            <surname>a</surname>
            <fatherName>a</fatherName>
            <age>0</age>
            <email>a@a.com</email>
            <username>a</username>
            <password>a</password>
        </member>
    </members>
public void test()抛出ParserConfiguration异常、SAXException、IOException{
字符串xml=“\n”
+ ""
+ ""
+“a”
+“a”
+“a”
+ "0"
+ "a@a.com"
+“a”
+“a”
+ ""
+ "";
//File xml=新文件(“C:/members.xml”);
DocumentBuilderFactory DocumentBuilderFactory=DocumentBuilderFactory
.newInstance();
DocumentBuilder DocumentBuilder=documentBuilderFactory.newDocumentBuilder();
documentdocument=documentBuilder.parse(新的ByteArrayInputStream(xml.getBytes(“UTF-8”));
document.getDocumentElement().normalize();
NodeList NodeList=document.getElementsByTagName(“成员”);
}

您的示例有问题-以下代码运行时没有错误:

    <?xml version="1.0" encoding="UTF-8"?>
    <members>
        <member id="0">
            <name>a</name>
            <surname>a</surname>
            <fatherName>a</fatherName>
            <age>0</age>
            <email>a@a.com</email>
            <username>a</username>
            <password>a</password>
        </member>
    </members>
public void test()抛出ParserConfiguration异常、SAXException、IOException{
字符串xml=“\n”
+ ""
+ ""
+“a”
+“a”
+“a”
+ "0"
+ "a@a.com"
+“a”
+“a”
+ ""
+ "";
//File xml=新文件(“C:/members.xml”);
DocumentBuilderFactory DocumentBuilderFactory=DocumentBuilderFactory
.newInstance();
DocumentBuilder DocumentBuilder=documentBuilderFactory.newDocumentBuilder();
documentdocument=documentBuilder.parse(新的ByteArrayInputStream(xml.getBytes(“UTF-8”));
document.getDocumentElement().normalize();
NodeList NodeList=document.getElementsByTagName(“成员”);
}

尝试在webbrowse(firefox或chrome)中打开xml文件 添加查看他们是否报告任何错误

如果您有linux,您可以执行以下操作:

xmllint members.xml


此命令告知文件是否为有效的xml

尝试在webbrowse(firefox或chrome)中打开xml文件 添加查看他们是否报告任何错误

如果您有linux,您可以执行以下操作:

xmllint members.xml


此命令告诉我们文件是否为有效的xml

我们将显示一个最小但完整的
成员示例。xml
允许我们重现问题。您的第一个标记
给出了一些错误。我不确定它是什么,但当我用xml标记替换该标记时,它工作得很好。(虽然我的标记没有变化。尝试手动键入相同的标记。)您的文件('members.xml')是否真的像xml Prolog状态那样以UTF-8编码?如果xml prolog中定义的编码与实际文件编码不同,则可能会导致此类问题。我们将向我们展示一个最小但完整的
成员示例。xml
允许我们重现此问题。您的第一个标记
给出了一些错误。我不确定它是什么,但当我用xml标记替换该标记时,它工作得很好。(虽然我的标记没有变化。尝试手动键入相同的标记。)您的文件('members.xml')是否真的像xml Prolog状态那样以UTF-8编码?如果xml prolog中定义的编码与实际文件编码不同,则可能会导致此类问题。