前段时间用dom4j解析xml时碰到了个异常 content is not allowed in prolog,估计是编码问题,后来在网上找到了答案,具体看以下的代码就知道咋回事了
import java.io.*;
import java.nio.charset.Charset;
import javax.xml.parsers.*;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
public class ContentNotAllowedInProlog {
private static void parse(InputStream stream) throws SAXException,
ParserConfigurationException, IOException {
SAXParserFactory.newInstance().newSAXParser().parse(stream,
new DefaultHandler());
}
public static void main(String[] args) {
String[] encodings = { "UTF-8", "UTF-16", "ISO-8859-1" };
for (String actual : encodings) {
for (String declared : encodings) {
if (actual != declared) {
String xml = "<?xml version='1.0' encoding='" + declared
+ "'?><x/>";
byte[] encoded = xml.getBytes(Charset.forName(actual));
try {
parse(new ByteArrayInputStream(encoded));
System.out.println("HIDDEN ERROR! actual:" + actual + " " + xml);
} catch (Exception e) {
System.out.println(e.getMessage() + " actual:" + actual + " xml:"
+ xml);
}
}
}
}
}
}
这段代码是老外分析的,原文http://illegalargumentexception.blogspot.com/2010/09/java-content-is-not-allowed-in-prolog.html
感觉帮助颇大。
分享到:
相关推荐
Download from your IP address is not allowed 百度网盘永久连接: QT下载: qt-opensource-linux-x64-5.8.0.run: 链接:https://pan.baidu.com/s/1sQ3tqPaWdDnmhBYAc_XR7g qt-opensource-linux-x64-5.13.1....
设置隐试打开PPT报错 Hiding the application window is not allowed
Host 主机名 is not allowed to connect the mysql server 原因:没有授权远程访问mysql 解决方法: cmd 中运行mysql -u root -p(如果报mysql 不是内部或外部命令,找到安装mysql对应的bin文件夹运行mysql.exe,...
document.write is not allowed in a script tag(解决方案).md
document.write is not allowed in a style tag(解决方案).md
document.write is not allowed in a link tag(解决方案).md
在使用MySQL数据库时,可能会遇到"Host 'localhost' is not allowed to connect to this MySQL server"的错误信息,这是由于MySQL的安全机制所致。MySQL的安全机制是基于主机名和用户名的组合来控制访问权限的。因此...
nginx: [emerg] “proxy_cache_path” directive is not allowed here in /etc/nginx/conf.d/default.conf:29 提示意思“proxy_cache_path指令不被允许”,在官网上查找了相关说明,也没有发现问题,最后看应用范围...
mongod高级查询语句,Javascript查询和$where查询,正则表达式匹配
本文将详细介绍在使用curl访问特定域名时遇到405 Method Not Allowed错误的解决方法。首先,我们先来理解什么是405错误以及其背后可能的原因。 HTTP状态码405 Method Not Allowed表示客户端请求的HTTP方法不被...
NULL 博文链接:https://rayoo.iteye.com/blog/1973032
NR5G 网络拒绝码 - 5gmm_cause = 7 (0x7) (5GS Service not allowed) 本资源摘要信息将详细解释 NR5G 网络拒绝码 5gmm_cause = 7 (0x7) (5GS Service not allowed),并对相关知识点进行详细说明。 一、NR5G 网络...
Android WebView 报 Not allowed to load local resource错误的解决办法 博客地址:http://blog.csdn.net/yuzhiqiang_1993/article/details/76228541
标题 "Host 'localhost' Not Allowed To Connect To Server" 是一个常见的MySQL服务器错误,通常发生在尝试从本地主机连接到数据库服务时被拒绝的情况。这个错误意味着MySQL服务器的配置没有正确地允许来自localhost...
CreateInstanceFromType is not allowed to be called from a ScriptableObject constructor (or instance field initializer), call it in OnEnable instead. Called from ScriptableObject '...
jmeter源码 log4j2.xml
4. Note that these files are not removed when Diskeeper is uninstalled: Productname.msi (for example, Diskeeper 2008 Server.msi) DKDesktopShortcut_A4ED7F98B2A54A06855C7E8804E8460E.exe These ...
message from server: “Host ‘****’ is not allowed to connect to this MySQL server 1:在登录mysql服务器 2:执行:GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%’ WITH GRANT OPTION //赋予任何主机访问数据的...
import cycle not allowed(解决方案).md