2010-05-26 99 views
9

是否有任何简单的方法使用XML Schema创建至少一个模板XML文件?我的主要兴趣是受C++限制,但也欢迎其他编程语言的讨论。通过我也使用QT框架的方式。从C++中的XML模式生成XML文档

+1

http://stackoverflow.com/questions/307616/xml-instance-generation-from-xml-schema-xsd – 2010-05-26 11:48:01

回答

4

您可能必须把这个写自己。从Schema获取XML文件没有任何方法。如果您可以制定特定于领域的假设(例如,如何填充数据项,选择哪个项目以及插入特定于领域的元素的频率),那么您将获得更好的实例文档。

如果您使用的是C++,请注意Xerces C++允许您加载架构并访问其模型(即正确访问它,而不是将架构作为XML文档加载)。我建议你下载一下SCMPrint Sample。它会告诉你如何遍历一个模式。然后,您可以修改它来打印出示例XML文件。

-1

在Qt 4.5 XML支持已扩展由XSLT实现,它允许您轻松地从一个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"; 
    } 
+0

你举的例子是一个验证的例子,而不是XML的转换。 – metdos 2010-06-07 07:47:55