2010-05-26 54 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