在Java上解析xml文件时出现错误:
An invalid XML character (Unicode: 0x0) was found in the element content of the document.
xml来自Web服务。
问题是,仅当Web服务在本地主机(Windows + tomcat)上运行时才出现错误,而当Web服务在线(linux + tomcat)时却没有。
如何替换无效的字符?谢谢。
固定此代码:
String cleanXMLString = null;
Pattern pattern = null;
Matcher matcher = null;
pattern = Pattern.compile("[\\000]*");
matcher = pattern.matcher(dirtyXMLString);
if (matcher.find()) {
cleanXMLString = matcher.replaceAll("");
}
总之,我正在尝试解析中的xml。但是XMLSpy告诉我xml的格式不好。 我相信这xml中包含了一些无效字符()。因为如果我把它拿走。XMLSpy的验证已通过。我认为UTF-8编码不允许这种字符。但是如果我真的想加入这种角色呢。我应该应用哪种编码?谢谢
问题内容: 我有一个XML文件,它是数据库的输出。我正在使用Java SAX解析器来解析XML并以其他格式输出它。XML包含一些无效字符,并且解析器抛出诸如“无效Unicode字符(0x5)”之类的错误 除了逐行预处理文件并替换它们之外,是否有一种很好的方法可以去除所有这些字符?到目前为止,我遇到了3个不同的无效字符(0x5、0x6和0x7)。这是一个约4gb的数据库转储,我们将对其进行大量处理,
问题内容: 我正在处理一些XML,其中包含以下字符串: 有的,我传递给各节点的字符串将有字符,如,,,等: 由于,此无效。 我无法将这些字符串包装在CDATA中,因为它们必须保持原样。我试图寻找一个字符列表,这些字符如果不包含在CDATA中就不能放入XML节点中。 有人可以指出我的方向或向我提供一系列非法字符吗? 问题答案: 唯一的非法字符,并且(和或在属性)。 他们使用XML实体进行了转义,在这
问题内容: 使用Java DOM解析器解析XML文件将导致: 问题答案: 即使将数据封装在CDATA块中,XML文档中也不允许使用一些字符。 如果生成了文档,则需要对文档进行 实体编码或 剥离。如果您有错误的文档,则应先删除这些字符,然后再尝试对其进行解析。 请参阅此线程中的dolmens答案:XML中的无效字符 他链接到本文的位置:http : //www.w3.org/TR/xml/#char
我的应用程序未确认JDK 1.8。我试图使用一个带有字符串的开关盒作为开关。仅使用JavaDocs中的一个基本示例是的,我可以切换到if/else语句,但我不愿意。 我得到了,这意味着我使用的是旧版本的Java。。这不合理,因为我有jdk1。已安装8.0_11。 这会是我的Gradle档案中的一个问题吗?
问题内容: 首先,我想提一下,这不是“ 如何解析无效(格式错误/格式不正确)的XML”的副本?因为我没有给定的无效(或格式不正确)的XML文件,而是给定的任意Java ,它可能包含也可能不包含无效的XML字符。我想创建一个包含具有给定节点的DOM ,然后将其转换为文件。当文件解析为DOM时,我想获得一个等于初始给定值的。我使用创建节点,并使用获取字符串。 如您在http://codingdict.