问题标签 [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 回答
145 浏览

java - 如何将单个单词转换为有效的 xml?

我有以下代码将传递给函数的字符串转换为文档:

问题是我正在使用的一些遗留代码传递给这个 toXml 函数一个像RANDOMor之类的单词FICTION。在尝试解析之前,我想将这些调用转换为有效的 xml。现在,如果我用 s = FICTION 调用该函数,它会返回一个SAXParseExeption错误。任何人都可以告诉我正确的方法吗?如果您有任何问题,请告诉我。

感谢您的时间

-乔什

0 投票
2 回答
2415 浏览

java - SAXParser 无法解析某些字符

我在 android/java 上用 SAXParser 等做一些简单的 SAXParsing

它可以正确解析文件,但遇到一些特殊字符时会打嗝,例如,如果它解析下面的这个 xml:

当它在最后一行的 Pohjois-Leppävaara 中遇到 ä 时,它会打嗝。

它给出的错误是:

我确信 SAXParser 可以处理这些字符,但我相信我需要在某处设置一些编码等?

Java代码是这样的:

0 投票
2 回答
10007 浏览

xml - 元素“Root”的命名空间必须来自模式命名空间“http://www.w3.org/2001/XMLSchema”?

我有一个 xml 文档:

我想在以下 xsd 的帮助下验证这个 xml:

当我尝试验证它时,我收到以下错误:

我的问题是为什么Root必须在模式的名称空间中?会不会是我验证 xml 文档不正确?

public synchronized boolean isValid(String xmlFragment, File xmlSchema) throws SAXException, IOException{

// 1. 查找 W3C XML Schema 语言的工厂

0 投票
6 回答
7049 浏览

android - 为什么这段代码一直触发 SaxParseException : ""PI must not start with xml"?

此代码用于从其字符串表示生成 XML 文档。它在我的小型单元测试中运行良好,但在我的实际 xml 数据中失败。它触发的行是Document doc = db.parse(is);

有任何想法吗?

0 投票
2 回答
4083 浏览

xsd - 在 java 1.6 中使用 dom4j DOMDocument 来提供 validator.validate(DOMSource) 失败(不允许使用 xsi:noNamespaceSchemaLocation),在 1.5 中有效

在 java 1.6 中使用 dom4j DOMDocument 来提供 validator.validate(DOMSource) 失败(xsi:noNamespaceSchemaLocation 不允许出现在根元素中),在 1.5 中有效

我发现以下问题非常棘手(好吧,这是轻描淡写的) - 任何见解都会受到赞赏。目前似乎最好的想法是放弃 dom4j 以支持例如 XOM (http://stackoverflow.com/questions/831865/what-java-xml-library-do-you-recommend-to-replace-dom4j)。

我一直在验证从 dom4j 'new DOMDocument()' 创建的内存 XML - 但这不适用于 Java 6。

以下对 dom4j (1.6.1) DOMDocument 派生的 DOMSource 的 validate(source) 调用适用于 Java 1.5.x,但在 Java 1.6.x 中失败:

getSchemaURLString() 还用于将 xsi:noNamespaceSchemaLocation 属性添加到根节点,即:xsi:noNamespaceSchemaLocation="http://localhost:8080/integration/xsd/fqlResponseSchema-2.0.xsd"

异常如下:

这是 XML 的开头 - 在禁用对 validator.validate(source) 的调用后生成:

XSD:

所以我的根元素被拒绝了,因为它包含一个 xsi:noNamespaceSchemaLocation 属性。并且架构本身并没有将其指定为我的根元素的有效属性?

在这一点上,在我看来,我需要为这项任务放弃 dom4j 并切换到其他解决方案之一,例如此处概述的:

但无论如何我想知道我做错了什么!

提前致谢。

0 投票
1 回答
141 浏览

xml - 一些巨大的基本错误——“找不到元素 X”

我的 xml

我的架构

它说“SaxParseException:找不到元素'credits'的声明”

什么?!:P 这怎么可能?在这里完全糊涂了。谷歌搜索了几个小时还没有。

谢谢!

编辑:找到解决方案。谷歌终于有所收获。:P 我必须添加

到我的 DocumentBuilderFactory 对象。:D

0 投票
3 回答
3032 浏览

xml - 验证时的 DTD 信息和相关错误(XSD 架构)——可以忽略它们吗?

所以我有大量的 XML 文件。多年来,它们一直在制造麻烦,因为编写它们的人是手工编写的,因此自然会出现错误。现在是我们验证它们并就尝试使用这些 XML 文件时出现的问题提供反馈的时候了。

我正在使用 SAX 解析器并获取错误列表。

下面是我的代码

前几个错误总是:

行号:2:文档无效:未找到语法。行号:2:文档根元素“credits”,必须匹配 DOCTYPE 根“null”。

我们不可能去编辑这数千个需要检查的 XML 文件。

有什么我可以很容易地添加到源的前面来防止这种情况发生吗?有没有办法告诉解析器忽略这些与 DTD 相关的错误?甚至不确定语法一个是什么意思。我有点明白第二个是什么意思。

0 投票
2 回答
1492 浏览

java - SAXParseException 为 getSystemId() 返回 null

为什么 SAXParseException 为 getSystemId() 返回 null?什么是系统标识符?

0 投票
1 回答
541 浏览

android - 正确终止 SaxParser 的流,避免“意外的文件结尾”异常

我对 Android 上引用的问题有同样的问题。

给出的解决方案是使用 URI 而不是输入流。

我相信您可以使用 API 指示的 inputStream,但显然使用 parse 方法引发异常的流存在问题。我可以确认所有数据都进入了流,并且 SAXParseException 表明所有数据都进入了 parse 方法,因为我可以使用返回 -1 的 getColumnNumber 方法(表明整个流已被读取)。但看起来 parse 方法没有将其确认为流的结尾,从而引发了“意外的文件结尾”(?)

有人可以建议如何使用输入流而不是 URI 作为解析方法的输入吗?

0 投票
1 回答
656 浏览

java-me - JAXP Sax Parser Java-ME Midlet 解析汉字时出现异常

我在解析一些嵌入在 XML 文件中的编码为 HTML Unicode 的中文字符时遇到了很大的麻烦。

我将Java MEjavax.xml.parsers.SAXParser一起使用

一个这样的字符文件是词:


关于它的信息:http ://www.isthisthingon.org/unicode/index.php?page=08&subpage=B&glyph=08BCD

但奇怪的是

工作正常。

直接嵌入<test>词&lt;/test>也可以。

我的测试 midlet 有以下源代码:

它正在消亡:

我会很感激任何想法。