gpt4 book ai didi

java - 带分号的 SAXException

转载 作者:行者123 更新时间:2023-12-01 15:28:48 26 4
gpt4 key购买 nike

我想解析包含如下元素的 xml 文件:

<element>&amp</element>
<element>&amp;</element>

但是 SAX 解析器在解析过程中给了我以下异常:

org.xml.sax.SAXParseException: The reference to entity "amp" must end with the ';' delimiter.
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:249)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:208)

是否有任何已知的解决方法?

抛出异常的java代码是这样的:

DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(file);

最佳答案

我无法使用您显示的 XML(在编辑之前)重现此内容。简短但完整的程序:

import java.io.*;
import javax.xml.parsers.DocumentBuilderFactory;

public class Test {
public static void main(String[] args) throws Exception {
File file = new File("test.xml");
DocumentBuilderFactory.newInstance()
.newDocumentBuilder()
.parse(file);
}
}

文件为:

<element>&amp;</element>

...运行时没有错误。

当文件只是:

<element>&amp</element>

...它显示了您报告的相同异常。

我的结论是它是正确的,并且您的文件已损坏。查找文件中出现的每个 &,并找到缺少分号的位置。

关于java - 带分号的 SAXException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9826527/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com