首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Apache Java进行XML验证

使用Apache Java进行XML验证
EN

Stack Overflow用户
提问于 2022-09-09 02:39:07
回答 1查看 80关注 0票数 0

我试图在java中使用外部XSD验证XML。但我看到的示例是添加Xerces的依赖项,但从javax.xml导入javax.xml等

为什么会这样?如何使用java中的Xerces验证Xml?

EN

回答 1

Stack Overflow用户

发布于 2022-09-09 15:56:16

您真的不需要Xerces的外部依赖。JVM包含自己的Xerces版本。但是内部版本的包结构与外部Xerces不同。

内部包是:com.sun.org.apachge.xerces

外部包是:org.apache.xerces

java.xml只是Xerces提供的实现类的抽象层。

默认实现是内部Xerces版本。但是,如果包含外部Xerces Jars,则有一种自动使用外部实现的机制。

例如,查看xercesImpl.jar内部(我下载了Xerces 2.12.2的二进制发行版)。在META-INF/services下有一些像javax.xml.validation.SchemaFactory这样的文本文件。

javax.xml.validation.SchemaFactory的内容如下:

代码语言:javascript
复制
org.apache.xerces.jaxp.validation.XMLSchemaFactory

因此,在运行时,如果xercesImpl.jar位于类路径上,则将该类作为SchemaFactory的实现。

底层机制记录在类java.util.ServiceLoader中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73656799

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档