所以我有一个程序正在读取大型XML文件,其中包含多个数据条目。因此,数据库我最初使用它包含40,000个用XML文件编写的单独条目,但是您可以下载一个包含所有条目的XML文件。但是,因此,XML声明元素: -
<?xml version="1.0" encoding="UTF-8"?>
在整个文档中多次调用,我想知道是否通过使用StAX解析器来解决这个问题。
编辑:应该说我无法正确解析我的文档并阅读所有内容,因为它不断返回错误: -
Exception in thread "main" javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1062,6]
Message: The processing instruction target matching "[xX][mM][lL]" is not allowed.
因为多次声明了xml声明。 感谢
答案 0 :(得分:0)
在您消除虚假的 <?xml ?>
声明之前,您不能将该文件视为XML,因为它不是well-formed。首先将它作为文本(手动或以编程方式)处理,以在尝试将其解析为XML之前消除额外的XML声明。
有关所有方式的一般信息
匹配“[xX] [mM] [lL]”的处理指令目标不是 允许的。
错误产生并解决了每种方式的补救措施,请参阅this answer(由Stefan建议)。
答案 1 :(得分:0)
此行称为XML序言:
<?xml version="1.0" encoding="UTF-8"?>
XML序言是可选的。如果存在,它必须在文档中排在首位。
它不应在文档中的其他任何地方重复。