- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在尝试使用 JAXB 来解码我最初使用 xjc 创建的一些 XML。我不想对解码进行任何验证,但即使我根据 JAXB 文档使用 u.setSchema(null);
禁用了验证,但这并没有阻止 FileNotFoundException
在尝试运行但找不到架构时抛出。
JAXBContext jc = JAXBContext.newInstance("blast");
Unmarshaller u = jc.createUnmarshaller();
u.setSchema(null);
return u.unmarshal(blast)
我已经看到类似的问题,通过将 apache 属性 http://apache.org/xml/features/validation/schema
设置为 false
,从验证中禁用 SAX 解析>,但我无法让 Unmarshaller 使用我自己的 sax 解析器。
最佳答案
基于@blaise-doughan 和@aerobiotic 的答案,这里有一个对我有用的解决方案:
import java.io.FileReader;
import javax.xml.XMLConstants;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.transform.sax.SAXSource;
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
public class Demo2 {
public static void main(String[] args) throws Exception {
JAXBContext jc = JAXBContext.newInstance(MyBean.class);
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
spf.setFeature("http://xml.org/sax/features/validation", false);
XMLReader xmlReader = spf.newSAXParser().getXMLReader();
InputSource inputSource = new InputSource(
new FileReader("myfile.xml"));
SAXSource source = new SAXSource(xmlReader, inputSource);
Unmarshaller unmarshaller = jc.createUnmarshaller();
MyBean foo = (MyBean) unmarshaller.unmarshal(source);
}
}
关于java - 如何使用 JAXB2.0 禁用 DTD 获取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9909465/
是否可以在我的 DTD 中声明一个可以有任何名称的元素?到目前为止,我了解到 ANY 只能用于以下数据类型: 任何帮助将不胜感激。 --阿里 最佳答案 不,ANY 关键字仅适用于元素的类别。无论如何
我得到了以下 DTD: 有人问我: This DTD is recursive! How does the recursion end? 嗯……我不明白为什么要递归?唯一递归的接缝
是否可以在另一个 DTD 中包含一个 DTD? (我的意思不是将第二个 DTD 复制并粘贴到第一个 DTD 中。我的意思是在第一个 DTD 中有一个指向第二个 DTD 的指针。) 最佳答案 是的,这是
我知道我应该将所有 html 元素放在 body 标签中,但我需要将两个隐藏的输入放在 html dtd 之上。我猜它不会使我的 html 文件成为标准文件,但有那么糟糕吗?我有以下代码。 什么
在输入文档中没有 any 文档类型的情况下,如何在解析文档时强制 SAX 解析器(特别是 Java 中的 Xerces)使用 DTD?这可能吗? 以下是我的场景的更多详细信息: 我们有一堆符合相同 D
我正在尝试通过 .dtd 验证 xml 文件。我写了这个验证器: public bool Validation(XmlDocument xmlDoc) { var xm
我有一个处理 HTTP 请求的网络服务。它收到的文档有一个嵌入的 DOCTYPE,指定了一个 .dtd 文件。我希望使用更新的 XML 架构验证文件,以便在更新的设备连接到我的服务时使用。 我可以成功
我在弄清楚 HXT 为何要替换我的 DTD 时遇到了一些麻烦。首先,这是我要解析的输入文件: foo foo 这是我得到的输出: foo
我能否定义一个 DTD,使其中的元素具有在外部 DTD 中定义的结构?我的意思是类似于以下内容(这是一个我知道在某些方面无效的示例,但希望它能让您了解我在寻找什么): 此处的尝试是表示消息
如何使用外部 DTD 文件来验证我的 XML 文件? DTD 将位于某些 url 上,例如http://localhost/example.dtd 并且 DTD 未在 XML 文件中引用,因此我需要在
以下声明出现在 html 4.01 dtds 中 (参见 http://www.w3.org/TR/REC-html40/sgml/dtd.html 在 strict.dtd 和 loose.dtd
我想知道是否有一个程序可以读取 DTD 规范,使用规范创建表单或控制台提示,使用表单/提示获取用户输入的数据,然后根据输入的数据编写 XML 文档. 有这样的程序吗? 例如,想象一下: [开始想象]
我想使用 JAXB 从 dtd 文件生成 Java 类。 dtd 看起来像这样: 使
我正在尝试对 xhtml 文档执行 xpath 查询。使用 .NET 3.5。 文档看起来像这样: .... ... 因为文档包含各种字符实体( 等),我
我发现了很多这样的例子: public static boolean validateXMLSchema(String xsdPath, String xmlPath){ tr
大家好: 我想获得网络浏览器的实际高度,但我对 W3C DTD HTML 4.01 和 //W3C 有一些困惑//DTC XHTML 1.0,以下是我的问题详情: 如果我在页眉顶部使用 W3C DTD
我正在使用 Java 6 并尝试解析以 开头的格式良好的文档 我下载了实体 DTD“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”,并将其放置在
这个问题已经有答案了: Xerces error: org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl (2 个回答) 已关闭 5 年前。 在 jboss w
这个问题在这里已经有了答案: Xerces error: org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl (2 个答案) 关闭 5 年前。 我正在使用
在下面的代码中: private Document transformDoc(Source source) throws TransformerException, IOException {
我是一名优秀的程序员,十分优秀!