我想读取其中具有架构声明的XML文件。
这就是我想要做的,请阅读。我不在乎它是否有效,但我希望它的格式正确。
问题是读者正在尝试读取架构文件,但失败了。
我甚至不想尝试。
我曾尝试禁用验证,但仍然坚持尝试读取架构文件。
理想情况下,我想使用库存的Java 5 JDK进行此操作。
到目前为止,这是我非常简单的内容:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setValidating(false);
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(file);
这是我回来的例外:
java.lang.RuntimeException: java.io.IOException: Server returned HTTP response code: 503 for URL: http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd
是的,这很可能是XHTML架构,但这不是“
XHTML”问题,而是XML问题。只是指出这一点,以使人们不会分心。而且,在这种情况下,W3C基本上是在说“不要问这个东西,这是一个愚蠢的主意”,我同意。但是,这再次是问题的细节,而不是问题的根源。我根本不想问。
该参考不是针对 Schema ,而是针对 DTD 。
DTD文件不仅可以包含结构规则,还可以包含更多内容。它们也可以包含实体引用。XML解析器必须加载和解析DTD引用,因为它们可能包含实体引用,这些实体引用可能会影响文档的解析方式和文件的内容(您可能拥有针对字符甚至整个短语的实体引用)。
如果要避免加载和解析引用的DTD,可以提供自己的EntityResolver并测试引用的DTD,并决定是加载DTD文件的本地副本,还是只返回null。
来自自定义EntityResolvers的引用答案的代码示例:
builder.setEntityResolver(new EntityResolver() {
@Override
public InputSource resolveEntity(String publicId, String systemId)
throws SAXException, IOException {
if (systemId.contains("foo.dtd")) {
return new InputSource(new StringReader(""));
} else {
return null;
}
}
});
问题内容: 我有很多.ico格式的图片,我想在我的Java SE项目中使用它们,但是它不知道格式。我该如何解决? 问题答案: 试用image4j-Java图像库 image4j库允许您以100%纯Java读取和写入某些图像格式。 当前支持以下格式: BMP(Microsoft位图格式-未压缩; 1、4、8、24和32位) ICO(Microsoft图标格式-1、4、8、24和32位[XP未压缩,V
我试图设置cookie来定义用户首选的语言。我通过一个指向助手控制器的链接做到了这一点: /设置区域设置/{locale} 我知道这是正确的,因为如果我这样做: 它显示所选择的正确区域设置。所以下一步是使用中间件实际应用这个选择的语言环境,我把它命名为“设置语言环境”: 但如果我执行 在中间件中,它读取所有加扰的cookie。所以我的问题是为什么它会这样做,我如何从这里正确地读取cookie?
问题内容: 我使用jQuery Ajax,如下所示: 即使我没有在Chrome中设置dataType,它也能很好地工作,但是,它在FF中失败,并带有XML解析错误。 响应Headersview源 服务器Apache-Coyote / 1.1 传输编码大块 数据日期,星期二,2011年10月4日00:08:08 GMT 请求Headersview源 主机localhost:8080 用户代理Mozi
我不明白为什么我一直收到这个错误消息: 在此行中找到多个注释: < li >文档中根元素后面的标记必须格式良好。 < li >错误:解析XML时出错:文档元素后的垃圾信息 该错误在下面的开头找到: XML:
这个程序的输出与预期的一样,它给出2014-12-01 17:30:15。 但是当我在iFormat中将hh替换为hh(与outputformat相同)时,它给出的输出为12Out格式2014-12-01 05:30:15 如果我将两者都转换为小写,也会发生同样的情况。为什么会出现这种类型的不一致?
我有一个关于bean的正确格式和用法的问题。xml文件。在我的项目中,我通常将这些内容用于我的bean。xml文件(未使用explizit bean声明): 这在WildFly 8和9中运行得很好。但是我在GlassFish 4中有部署问题。在问题中:Glassfish 4,CDI中的简单示例在WELD-001408中失败。我写了一个替代格式: 这里使用了不同的名称空间。GlassFish4似乎很