在C++中从XML模式生成XML文档

9

是否有一种简单的方法使用XML Schema创建至少一个模板XML文件?我的主要兴趣集中在C++方面,但也欢迎讨论其他编程语言。顺便说一下,我还使用QT框架。


1
https://dev59.com/Q3VC5IYBdhLWcg3wZwNT - anon
看看这个... https://dev59.com/VHVD5IYBdhLWcg3wU5-H.. 它有被接受的答案和很多其他建议.. - liaK
2个回答

4
你可能需要自己编写代码,从Schema中获取XML文件的方法并不唯一。如果你能够做出特定领域的假设(例如如何填充数据项,在选择时选择哪些项,在插入特定领域元素时频率是多少),那么你将得到更好的实例文档。
如果你正在使用C++,请注意Xerces C++可以让你加载模式并访问其模型(即适当地访问它,而不仅仅将模式作为XML文档加载)。我建议你下载它并查看SCMPrint Sample。它将向你展示如何遍历模式。然后,你可以修改它以打印一个示例XML文件。

-1
在Qt 4.5中,XML支持已通过XSLT实现得到扩展,这使您可以轻松地将文档从一个XML方言转换为另一个,或从XML描述生成源代码。 使用Qt进行W3C XML模式验证 示例:
    #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";
    }

你的例子是一个验证示例,而不是XML的转换。 - metdos

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接