有没有简单的方法可以使用XML Schema创建至少一个模板XML文件?我的主要兴趣是C ++,但也欢迎讨论其他编程语言。我也使用QT框架。
答案 0 :(得分:4)
您可能必须自己写这个。没有一种方法可以从Schema获取XML文件。如果您可以进行特定于域的假设(例如,如何填充数据项,选择哪些项目,选择特定于域的元素的频率),那么您将获得更好的实例文档。
如果您正在使用C ++,请注意Xerces C++允许您加载架构并访问其模型(即正确访问它,而不仅仅是将架构加载为XML文档)。我建议您下载SCMPrint Sample。它将向您展示如何遍历模式。然后,您可以修改它以打印出示例XML文件。
答案 1 :(得分:1)
检查一下...... How to generate sample XML documents from their DTD or XSD? ..它也接受了答案,并提出了许多其他建议..
答案 2 :(得分:-1)
在Qt 4.5中,XSLT实现扩展了XML支持,允许您轻松地将文档从一种XML方言转换为另一种XML方言或从XML描述生成源代码
W3C XML Schema validation with Qt
示例:
#include <QtXmlPatterns/QXmlSchema>
#include <QtXmlPatterns/QXmlSchemaValidator>
QXmlSchema schema;
schema.load( QUrl("file:///home/jordenysp/example.xsd") );
if ( schema.isValid() ) {
QXmlSchemaValidator validator( schema );
if ( validator.validate( QUrl("file:///home/jordenysp/result.xml") ) ) {
qDebug() < < "Is valid";
} else {
qDebug() << "Is invalid";
}
} else {
qDebug() << "Is invalid";
}