问题标签 [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.
java - 如何将单个单词转换为有效的 xml?
我有以下代码将传递给函数的字符串转换为文档:
问题是我正在使用的一些遗留代码传递给这个 toXml 函数一个像RANDOM
or之类的单词FICTION
。在尝试解析之前,我想将这些调用转换为有效的 xml。现在,如果我用 s = FICTION 调用该函数,它会返回一个SAXParseExeption
错误。任何人都可以告诉我正确的方法吗?如果您有任何问题,请告诉我。
感谢您的时间
-乔什
java - SAXParser 无法解析某些字符
我在 android/java 上用 SAXParser 等做一些简单的 SAXParsing
它可以正确解析文件,但遇到一些特殊字符时会打嗝,例如,如果它解析下面的这个 xml:
当它在最后一行的 Pohjois-Leppävaara 中遇到 ä 时,它会打嗝。
它给出的错误是:
我确信 SAXParser 可以处理这些字符,但我相信我需要在某处设置一些编码等?
Java代码是这样的:
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 语言的工厂
android - 为什么这段代码一直触发 SaxParseException : ""PI must not start with xml"?
此代码用于从其字符串表示生成 XML 文档。它在我的小型单元测试中运行良好,但在我的实际 xml 数据中失败。它触发的行是Document doc = db.parse(is);
有任何想法吗?
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 并切换到其他解决方案之一,例如此处概述的:
但无论如何我想知道我做错了什么!
提前致谢。
xml - 一些巨大的基本错误——“找不到元素 X”
我的 xml
我的架构
它说“SaxParseException:找不到元素'credits'的声明”
什么?!:P 这怎么可能?在这里完全糊涂了。谷歌搜索了几个小时还没有。
谢谢!
编辑:找到解决方案。谷歌终于有所收获。:P 我必须添加
到我的 DocumentBuilderFactory 对象。:D
xml - 验证时的 DTD 信息和相关错误(XSD 架构)——可以忽略它们吗?
所以我有大量的 XML 文件。多年来,它们一直在制造麻烦,因为编写它们的人是手工编写的,因此自然会出现错误。现在是我们验证它们并就尝试使用这些 XML 文件时出现的问题提供反馈的时候了。
我正在使用 SAX 解析器并获取错误列表。
下面是我的代码
前几个错误总是:
行号:2:文档无效:未找到语法。行号:2:文档根元素“credits”,必须匹配 DOCTYPE 根“null”。
我们不可能去编辑这数千个需要检查的 XML 文件。
有什么我可以很容易地添加到源的前面来防止这种情况发生吗?有没有办法告诉解析器忽略这些与 DTD 相关的错误?甚至不确定语法一个是什么意思。我有点明白第二个是什么意思。
java - SAXParseException 为 getSystemId() 返回 null
为什么 SAXParseException 为 getSystemId() 返回 null?什么是系统标识符?
android - 正确终止 SaxParser 的流,避免“意外的文件结尾”异常
我对 Android 上引用的问题有同样的问题。
给出的解决方案是使用 URI 而不是输入流。
我相信您可以使用 API 指示的 inputStream,但显然使用 parse 方法引发异常的流存在问题。我可以确认所有数据都进入了流,并且 SAXParseException 表明所有数据都进入了 parse 方法,因为我可以使用返回 -1 的 getColumnNumber 方法(表明整个流已被读取)。但看起来 parse 方法没有将其确认为流的结尾,从而引发了“意外的文件结尾”(?)
有人可以建议如何使用输入流而不是 URI 作为解析方法的输入吗?
java-me - JAXP Sax Parser Java-ME Midlet 解析汉字时出现异常
我在解析一些嵌入在 XML 文件中的编码为 HTML Unicode 的中文字符时遇到了很大的麻烦。
我将Java ME与javax.xml.parsers.SAXParser一起使用
一个这样的字符文件是词:
关于它的信息:http ://www.isthisthingon.org/unicode/index.php?page=08&subpage=B&glyph=08BCD
但奇怪的是
工作正常。
直接嵌入<test>词</test>
也可以。
我的测试 midlet 有以下源代码:
它正在消亡:
我会很感激任何想法。