请注意,我要求针对特定节点而不是整个文件进行验证。 例如
<somexmldoc>
<someNode>
<UserDefinedNode> </>
<UserDefinedNode> </>
</someNode>
</somexmldoc>
对于这个XML文档,我有一个fullDoc.XSD,可用于验证整个文档,除了“UserDefinedNode”(此节点在xsd中使用“any”标记指定,允许用户在该节点下定义任何内容)。
是否可以使用单独的userdefined.XSD文件来验证“UserDefinedNode”?是否可以使用MSXML for C ++(IXMLDomDocument)来验证这一点?
谢谢!
答案 0 :(得分:1)
XSD适用于整个DOM文档,但不适用于DOM片段。但是,由于您的片段也是有效的XML,为什么不将它作为根复制到另一个DOM对象?您可以利用appendChild或cloneNode来实现此目的,然后验证新的DOM。
顺便说一下,如果你想验证指定的DOM片段,validateNode方法适合你。
答案 1 :(得分:0)
是的,这是可能的。我建议下载Microsoft Core XML Services (MSXML) 6.0 SDK,因为它有一个C ++示例代码,说明如何执行此操作。
答案 2 :(得分:0)
应该可以。我找到了一个名为 HOW TO:针对Visual C#.NET 中的XML模式验证XML片段的文档(see here)。这是C#,但你应该能够翻译这个: - )