- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在 DocumentBuilderFactory
上设置功能。但是,它只是抛出一个 javax.xml.parsers.ParserConfigurationException
,其中包含功能名称作为消息:
public void execute() throws Exception
{
// Get the factory.
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
// Xerces 1 - http://xerces.apache.org/xerces-j/features.html#external-general-entities
// Xerces 2 - http://xerces.apache.org/xerces2-j/features.html#external-general-entities
setFeature(dbf, "http://xml.org/sax/features/external-general-entities", false);
// Xerces 2 only - http://xerces.apache.org/xerces-j/features.html#external-general-entities
setFeature(dbf, "http://apache.org/xml/features/disallow-doctype-decl", true);
...
}
private void setFeature(DocumentBuilderFactory dbf, String name, boolean value)
{
try {
dbf.setFeature(name, value);
} catch (ParserConfigurationException e) {
e.printStackTrace(); // <- see below
}
}
该错误没有提供有用的信息:
javax.xml.parsers.ParserConfigurationException: http://xml.org/sax/features/external-general-entities
at org.apache.harmony.xml.parsers.DocumentBuilderFactoryImpl.setFeature(DocumentBuilderFactoryImpl.java:101)
at com.kounta.printing.epson.EpsonReceiptTranslator.setFeature(EpsonReceiptTranslator.java:76)
at com.kounta.printing.epson.EpsonReceiptTranslator.execute(EpsonReceiptTranslator.java:49)
at com.kounta.printing.epson.EpsonPrintJob$1.run(EpsonPrintJob.java:48)
at com.kounta.util.TaskQueue.internalRun(TaskQueue.java:68)
at com.kounta.util.TaskQueue.access$100(TaskQueue.java:11)
at com.kounta.util.TaskQueue$InternalRunnable.run(TaskQueue.java:79)
at java.lang.Thread.run(Thread.java:841)
有没有办法获得所有支持的功能?或者我做错了什么?这两个功能都会抛出异常。
最佳答案
事实证明,默认提供的 XML 解析器是垃圾且不完整(这并不奇怪,因为这是 android),我最终发现了这个问题:
因此,尽管文档要求所有 XML 解析器都支持 FEATURE_SECURE_PROCESSING - http://developer.android.com/reference/javax/xml/parsers/SAXParserFactory.html#setFeature(java.lang.String,%20boolean) - 这不是。
解决方案是我必须使用不同的库来处理 XML 的解析。
关于java - DocumentBuilderFactory 获取可用功能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33293640/
每当我运行以下命令时,都会收到下面给出的错误。请告诉我需要添加哪个 jar 文件才能在 Matlab 中运行该命令。 命令:docBuilder = DocumentBuilderFactory.ne
我正在尝试在 DocumentBuilderFactory 上设置功能。但是,它只是抛出一个 javax.xml.parsers.ParserConfigurationException ,其中包含功
我正在用 Java 开发一个简单的 XML 解析器。我已经成功地将 DocumentBuilderFactory 与许多源一起使用,但我的新源之一是单个节点的集合。 file.xml 如下所示:
我需要每 5 分钟从 RSS 源更新一次新闻源。 我写了一个TimerTask,如下所示 public class TimerTaskForAllNews { public static vo
当我调用DocumentBuilderFactory.parse(xml-file-path);时,它返回一个空文档。我100%确定文档的文件路径是正确的。我的完整代码如下: public stati
我正在尝试找到一种方法来转换 Document到 String 并找到这个 XML Document to String?在这里发帖。但是,我想进行转换 without using Transform
什么是抽象工厂模式:- 它提供了一种顶级工厂封装一组单独工厂的方式,这些工厂进一步能够创建相关产品系列没有指定他们的具体类。 根据 Examples of GoF Design Patterns in
最近,我一直在研究 XML 解析器。这对我来说才刚刚开始,我设法理解了如何在 Java 中使用 DOM 解析器类,即 DocumentBuilderFactory 和 DocumentBuilder
我的代码有一点问题。我想加载一个 XML 文件,从文件中提取数据,例如不同的对象及其属性。我的想法是通过 Filechooser 选择文件,使用 JDOM 通过 XMLparser 获取信息,然后将对
我正在解析一个具有嵌套标签的 xml 文件,并且我正在使用 xsl 将模式与 xml 进行匹配,我的任务是选择所有标签值并将其写入 csv 文件我能够读取和写入xml 和 csv 文件,但是,当涉及嵌
这是我用于 android 2.3 的代码。它用于正常工作。但是不知道为什么它在 android 3.0 中似乎不起作用 DocumentBuilderFactory factory = Docume
Java 1.4 doc对于 javax.xml.parsers.DocumentBuilderFactory 明确指出: An implementation of the DocumentBuild
我有一些 Java 代码来解析 XML 文件。但是,我的代码为我的节点返回 null。 DocumentBuilderFactory factory = DocumentBuilderFactory.
嘿,所以我想知道如何编写一个空标签,例如 与 DocumentBuilderFactory (基于此 resource ,库 javax.xml.parsers.*; ),目前我必须应用 if 条件
我无法解决这个问题。浏览了很多论坛。请帮助: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected ex
我正在尝试通过 JNI/Java 桥在 Delphi 代码中使用 javax.xml.parsers.DocumentBuilderFactory。 这是我为工厂构建的接口(interface): N
我目前正在修改一段代码,我想知道 XML 的格式化方式(制表符和间距)是否会影响它被解析到 DocumentBuilderFactory 类中的方式。 本质上,问题是......我能否将一个没有间距的
我正在用 Java for Android (SDK v8) 编写一个应用程序,它解析 XML 并将条目放入 ListView 中。这部分工作正常。我正在使用 DocumentBuilder 解析 X
在解析 XML 文件时,我的文档生成器正在寻找 DTD,有时它会引发错误(服务器崩溃)。所以当我用谷歌搜索时,我从这里得到了以下解决方案 Ignoring the DTD while parsing
我正在尝试更改项目以在 jre 1.7 上运行。但是当我更改引用的库时,出现以下错误: DocumentBuildFactory documentBuildFactory = (DocumentBui
我是一名优秀的程序员,十分优秀!