1

XSD ファイルから CodeSynthesis を使用して C++ クラスを生成しました。ここで、C++ オブジェクトを作成し、データを入力して、XML または JSON 形式にシリアル化します。XML を生成するにはどうすればよいですか? フレームワークQtも使用しています。JAXB のように見えるはずです。例 (JavaCode):

Worker w = new Worker();
w.setName("Peter");
w.setStreet("...");
String xml = "XMLGenerator".generate(w);`

これは可能ですか?

4

2 に答える 2

0

DOM クラスを使用して、Qt で XML ファイルを作成できます。DOM は、XML ドキュメント全体をメモリ内のノード オブジェクトのツリーとして表すことによって機能します。:

QDomDocument document;

QDomElement d = document.createElement( "document" );
d.setAttribute( "name", "DocName" );

QDomElement a = document.createElement( "author" );
a.setAttribute( "name", "AuthorName" );

QDomText text = document.createTextNode( "Some text" );

document.appendChild( d );
d.appendChild( a );
d.appendChild( text );

//Writing to a file

QFile file( "simple.xml" );
if( !file.open( QIODevice::WriteOnly | QIODevice::Text ) )
{
qDebug( "Failed to open file for writing." );
return -1;
}
QTextStream stream( &file );
stream << document.toString();
file.close();
于 2014-05-19T09:16:52.117 に答える