使用Xerces-j验证XML文档

前端之家收集整理的这篇文章主要介绍了使用Xerces-j验证XML文档前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用Xerces-J验证 XML文档.

我希望验证器获取并解析任何关联的XSD或DTD文件(使用schemalocation,nonamespaceschemalocationa和DOCTYPE引用).似乎可以将这些资源的加载委托给Resolver类.

然而,我见过的所有样本都是从模式创建验证器开始的.

是否有可能以相反的方式驱动它,请求xerces验证XML文档,并让它加载它需要的东西,或者我必须首先解析XML文件寻找模式引用,加载它们,然后从模式创建验证器?

在理想的世界中,验证器也支持xsd 1.1

您在查找<!DOCTYPE声明或架构属性时提供了一个EntityResolver解析器.最常见的实体解析器使用目录文件,这些文件本质上是XML文件或文本文件,用于定义公共ID,系统ID和物理文件URI的字典.请参阅 org.apache.xml.resolver包.但您也可以提供自己的 EntityResolver实施.
CatalogResolver resolver = new CatalogResolver();
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setValidating(true);
dbf.setFeature("http://apache.org/xml/features/validation/dynamic",true);
DocumentBuilder parser = dbf.newDocumentBuilder();
parser.setEntityResolver(resolver);
Document doc = parser.parse(someFile);
原文链接:https://www.f2er.com/xml/452465.html

猜你在找的XML相关文章