标记必须格式良好

首先,让我说我是SAX和Java的新手。

我试图从一个格式不正确的XML文件中读取信息。

当我尝试使用SAX或DOM Parser时,我收到以下错误:

The markup in the document following the root element must be well-formed. 

这是我设置XML文件的方式:

 0;W650;004;AG-Erzgeb 001;023 ... 

我可以强制SAX或DOM解析XML文件,即使它们不是格式良好的XML吗?

感谢您的帮助。 非常感激。 Haythem

最好的办法是使XML格式良好,可能需要对其进行预处理。 在这种情况下,您可以通过在(甚至是可选的)上放置XML声明并提供根元素(不是可选的)来实现这一点,如下所示:

   0;W650;004;AG-Erzgeb 001;023  

在那里,我随意选择了根元素的名称“wrapper”; 它可以是你喜欢的任何东西。

提示:使用sax或stax,您可以成功解析一个格式不正确的xml文档,直到遇到FIRST “well formed-ness”错误。

(我知道这不是太多的帮助…)

由于DOM将扫描您的xml文件然后构建一个树,树的根节点就像是1答案。 但是,如果Parser找不到甚至,它甚至可以构建树。 因此,在通过DOM或Sax解析之前,最好先对xml文件进行一些预处理。