0

我想知道是否有一种方法可以在 C++ 中使用 Xerces DOM 解析器来验证多个 xml 方案?

这是用例:我希望能够针对其相应的 xsd 架构解析多个 xml 文件。但是,当我最初查看每个 xml 文件时,在解析它之前我不知道它是什么文件,因此我无法将静态 xsd 文件链接到它。有没有一种说法,我想针对 xsd1 或 xsd2 等验证每个 xml 文件...

在阅读之后,解析器“setExternalSchemaLocation”的设置似乎能够保存一个方案列表,但是当我在我的代码中执行此操作时,它无法正确验证。

parser->setExternalSchemaLocation("http://www.somelocation schema.xsd http://www.somelocation schema1.xsd");

如果我这样做,该模式将自行工作

parser->setExternalSchemaLocation("http://www.somelocation schema.xsd");

所以我确定我的 xml 或 xsd 文件中没有错误。

关于如何针对多个 xml 模式进行验证的任何见解?

4

1 回答 1

0

如果每个 xml 都在同一个命名空间中,则该代码不起作用。每个 xml 文件必须位于不同的命名空间中,以上代码才能正常工作。

parser->setExternalSchemaLocation("http://www.somelocation schema.xsd http://www.somelocation1 schema1.xsd"); 
于 2011-02-14T23:58:47.180 回答