多个 XML 文件验证的自动化

Posted

技术标签:

【中文标题】多个 XML 文件验证的自动化【英文标题】:Automation Of Multiple XML Files Validation 【发布时间】:2016-08-02 13:12:19 【问题描述】:

我想知道是否可以在文件服务器中自动化整个 xml 验证过程?

从一个目录中读取多个xml文件, 根据 xsd 模式文件树验证文件, 然后吐出成功/失败的错误输出, 可能会将所有这些信息插入数据库中,以便更轻松地跟踪更改

系统主要使用JAVA和PL/SQL处理文件。

我对此进行了一些研究,但是,我对 XML 技术不太熟悉,所以我不确定我正在寻找的东西是否可以用任何一种来完成

商业产品(即xml编辑器,例如oxygenXML、stylus studio、xmlspy、altova等)或 开源(CAM 工具包、Apache Xerces2 Java、SOAPUI 等)。

任何建议/意见/建议将不胜感激。

【问题讨论】:

【参考方案1】:

您可以使用 xmllint 进行验证和解析。这默认包含在大多数版本的 linux 中并且易于使用:

xmllint --noout --schema <xsd file> <xml file> 

对于 Windows,我更喜欢 Altova xmlspy。

【讨论】:

【参考方案2】:

我已在命令行上使用并推荐 oracle xml 解析器“xml”作为管道的一部分,以验证入口和出口上的 xml 文件。

这在不同时间发现了字符编码问题和其他错误。

更详细的级别最初使用来自 sun 的 Multi Schema Validator 来验证任意外部架构(未在文件中定义)。

这会捕获远程方发送的架构错误。 用作安全入口过滤器的一部分,用于在摄取前验证内容。

在项目的早期阶段(与技术含量低的合作伙伴),我使用html tidy 工具将无效的 xml 强制转换为有效形式,以强制数据进入我们的系统,即使它是无效的。

发现未封闭的属性。 无效字符。 未封闭的实体。

这两个都适用于大型企业 B2B 系统的各个部分。

【讨论】:

以上是关于多个 XML 文件验证的自动化的主要内容,如果未能解决你的问题,请参考以下文章

spring mvc +ibatis 怎样配置自动加载多个sqlmap.xml文件

Outlook 自动发现 SMTP 身份验证

在 Eclipse 中禁用 XML 验证

跨重载共享xml文档

针对多个模式定义验证 XML 文件

如何使用 Visual Studio 2005 根据架构验证 XML 文件