标记必须格式正确

发布于 2024-08-25 19:27:15 字数 479 浏览 12 评论 0原文

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

我正在尝试从格式不正确的 XML 文件中读取信息。

当我尝试使用 SAX 或 DOM 解析器时,我收到以下错误响应:

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

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

<format type="filename" t="13241">0;W650;004;AG-Erzgeb</format>
<format type="driver" t="123412">001;023</format>
   ...

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

感谢您的帮助。非常感谢。 海瑟姆

First off, let me say I am a new to SAX and Java.

I am trying to read information from an XML file that is not well formed.

When I try to use the SAX or DOM Parser I get the following error in response:

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

This is how I set up my XML file:

<format type="filename" t="13241">0;W650;004;AG-Erzgeb</format>
<format type="driver" t="123412">001;023</format>
   ...

Can I force the SAX or DOM to parse XML files even if they are not well formed XML?

Thank you for your help. Much appreciated.
Haythem

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

嘿嘿嘿 2024-09-01 19:27:16

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

As the DOM will scan you xml file then build a tree, the root node of the tree is like the as 1 Answer. However, if the Parser can't find the or even , it can even build the tree. So, its better to do some pre-processing the xml file before parser it by DOM or Sax.

尘世孤行 2024-09-01 19:27:15

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

<?xml version="1.0"?>
<wrapper>
    <format type="filename" t="13241">0;W650;004;AG-Erzgeb</format>
    <format type="driver" t="123412">001;023</format>
</wrapper>

我任意为根选择了名称“wrapper”元素;它可以是任何你喜欢的。

Your best bet is to make the XML well-formed, probably by pre-processing it a bit. In this case, you can achieve that simply by putting an XML declaration on (and even that's optional) and providing a root element (which is not optional), like this:

<?xml version="1.0"?>
<wrapper>
    <format type="filename" t="13241">0;W650;004;AG-Erzgeb</format>
    <format type="driver" t="123412">001;023</format>
</wrapper>

There I've arbitrarily picked the name "wrapper" for the root element; it can be whatever you like.

≈。彩虹 2024-09-01 19:27:15

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

(我知道这没有太大帮助......)

Hint: using sax or stax you can successfully parse a not well formed xml document until the FIRST "well formed-ness" error is encountered.

(I know that this is not of too much help...)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文