问题标签 [saxparseexception]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5687 浏览

java - 如何在 Java 中有效地使用 SAXParseException

我正在验证 Java 中的 XMLSchema,并在我有无效的内容模型时抛出 SAXParseExceptions。

我将使用这些异常来突出验证失败的地方 - 但 SAXParseExceptions 似乎有点太低级了。

例如,对于枚举失败,我在一个异常中得到提供的值与内容模型不匹配的有效性错误,以及在下一个异常中应用的元素。

我在想我需要一个实用程序来抽象一点,以将相关错误合并在一起并将异常文本解析为可用的异常属性。

这是一种合理的方法,还是我只是错过了一些东西,或者可能是一个库或帮助类?


更新@timgilbert,感谢您的回复。

例如,我在 t'internet 上发现的 SAXParseException

对我来说关键的事情是

  • 此例外适用的元素“en”。为什么我不能调用 exception.getElement() 或其他东西,为什么不能调用相关元素的 XPath?内存文档比行号和列号更有用!
  • 这是模式验证失败。为什么我不能得到可能的故障类型的枚举和对适当故障的引用?
  • 验证失败的实际模式。
  • 接下来会抛出另一个异常来告诉我导致我需要合并的问题的“en”元素的值

我希望能够做的一个例子是让人们提交一个文档并突出显示验证失败的文档并显示用户友好的消息 - 上面的错误消息似乎不太友好......必须解析用单引号感觉就像一场等待发生的事故:)

我想我可能在'reference-to-element'这件事上做错了,也许我应该在默认情况下对文档进行身份转换作为验证的一部分,并使用我的验证错误属性来增加转换可以用 CSS 挑选出来。如果我需要解析消息以使它们更友好,那仍然无济于事......

回复:紧密绑定,javax.xml.validation.Validator.validate() 无论如何都会抛出 org.xml.sax.SAXException - 不知道我该如何摆脱假设绑定......

干杯

0 投票
1 回答
8281 浏览

eclipse - Eclipse“创建元素失败”

我正在使用基于 Eclipse 3.x 构建的 WID 6.1。

尝试右键单击文件夹时,新建->类,键入类的名称,然后单击完成,我收到错误

“创建元素失败。org.xml.sax.SAXParseException:文件过早结束。”

昨天发生这种情况时,我重新创建了我的工作区,但现在又发生了。重新安装 WID 需要两三个小时的任务,所以我更愿意解决实际问题。

建议?

编辑:第二次重新启动 WID 后,我现在收到“初始化 Java 工具时出错。”,这我收到的原始错误消息更容易搜索。

编辑:查看 WID/Eclipse 日志,有一个异常,但它没有告诉我哪个项目或哪个文件。

0 投票
3 回答
2704 浏览

java - 使用球衣中的 XML 文件进行发布时出现 SAXParseException

我在我的 REST 应用程序中使用 jaxb。我想通过 Web 表单发送 XML 文件。然后 java 类将解组InputStream.

触发该unmarshal方法的 jsp 文件具有form如下所示:

我得到以下 ParserException :

javax.xml.bind.UnmarshalException - with linked exception: [org.xml.sax.SAXParseException: Content is not allowed in prolog.].

这个问题在这里得到了普遍的回答,但我确信我的文件没有损坏。当我从具有相同文件的 java-Class 中调用代码时,不会引发异常。

0 投票
1 回答
1030 浏览

xml - SAX 解析异常

我在我的 java 程序中使用 JMS 消息传递。我的消息来自 IBM Main Frame,消息是 xml 文件。

大型机将 xml 文件的消息推送到队列

但是,当 java 程序从队列中读取消息时,会附加一个字符“?”。被添加到 xml 文件的前面。例如这样的文件:

变成

当我从队列中读取消息时。

当我尝试解析这个时,我发现了以下异常

添加此附加字符的原因可能是什么?

0 投票
1 回答
4525 浏览

java - 使用 SAX (Java) 解析来自单个 TCP 流的多个 XML 消息

我处于使用 Java 连接到 TCP 端口并一个接一个地流式传输 XML 文档的位置,每个文档都<?xml以文档标记的开头分隔。演示格式的示例:

我正在使用org.xml.sax.*api。SAX 解析对第一个文档非常有效,但在遇到第二个文档的开头时会引发异常:

以下骨架类演示了我正在使用的设置:

我无法控制 xml 的格式(它是一个财务数据馈送),但我需要能够有效地解析它,并解析所有文档。我花了一个下午/晚上尝试不同的事情,但没有一个产生结果。任何帮助将不胜感激。

0 投票
1 回答
1402 浏览

java - 是否可以在 JAX-RS/JAXB 网络服务中捕获 SAXParseException?

我想检查一个 JAX-RS Web 服务请求,其中有效的 XML 包含在正文中。但是,这段代码:

返回 500 内部服务器错误,而不是预期的 400 错误。有没有办法捕捉异常?

异常堆栈跟踪的开始是:

0 投票
2 回答
688 浏览

android - 如何在android中解析xml文件时删除�字符

尊敬的所有人,

我必须从服务器读取 xml 文件并显示所有文件中的数据。一些数据包含字符“�”,它在解析时给了我 SAXException。我试图转换 UTF-8 格式。但是一旦在文件中找到该字符,它就会让我退出应用程序。我使用 SAXParser 来解析 xml 文件。

如果您对此问题有任何解决方案,请帮助我。
谢谢你

0 投票
1 回答
1124 浏览

xml - 从 org.w3c.dom.Node 获取行号和列号

我知道您可以从 org.xml.sax.SAXParseException 中获取行号和列号。

是否可以从 org.w3c.dom.Node 获取行号和列号?

0 投票
3 回答
12267 浏览

android - Android 上的 SaxParser:意外的文档结束异常

尝试在 android 上解析 xml 文档时出现“SAXParseException: Unexpected end of document”错误。

有问题的文档来自谷歌天气 api,但无论有问题的 xml 文件如何(只要 xml 有效),它似乎都会引发相同的错误,所以我怀疑这是我的方法的问题,而不是 xml。

这是作为学习练习完成的,所以我可能(希望)忽略了一些明显的东西=)

我已经通过在线验证器运行了 xml,它返回时格式正确。(不能告诉我它是否有效,因为我没有 DTD,但我认为我不需要 DTD 来解析 xml)。

这是我用来尝试解析文件的代码:

产生错误的 xml 的缩减版本是:

堆栈跟踪是:

为简洁起见,我没有包含原始 xml,但它只是来自谷歌提要的标准天气 xml。

我还尝试了一些完全不同的 xml 文件(包括来自http://www.ibm.com/developerworks/xml/library/x-android/的示例),它们都给出了相同的错误。(当我通过在线 xml 验证器运行它们时,它们也都验证了格式)。

这让我认为这不是 xml 的问题,而是我尝试将其输入解析器的方式。

干杯

戴夫·斯迈利

0 投票
5 回答
211308 浏览

java - Prolog SAXParserException 中不允许内容

我正在尝试调用 Web 服务,但遇到了一个奇怪的行为。我们在我的服务器上运行了一个 Web 服务,但是代码不对我们开放,所以看不到墙后面发生了什么 服务的所有者已经公开了基于 Web 的测试客户端 UI,它在文本框中接受输入并将显示对测试目的的响应。此输入框以下面提到的格式输入

它在此 UI 上工作正常,但是当我尝试通过我的 java 代码调用此 Web 服务时,它也获得了连接以及获得服务的授权,但是当我尝试调用上述方法时,它给了我以下错误消息

下面是生成所需 XML 的代码

生成的XML如下

我什至对生成的字符串进行了计时,如下所示

但无法找出问题所在,我确信输入 XML 中存在一些问题,因为它在相同 XML 的测试页面 UI 上的工作发现

在这方面的任何帮助都非常有用