2011-08-01 9 views
0

私の問題は、XmlWriterを使ってC++でリストを出力することです。 XMLファイルに含めることができるリストが必要です。私の計画コード - クラスはリスト要素を生成するために実装する必要がありますが、私はなぜ知らない:xmlwriterと組み合わせたC++のリスト

writer->WriteStartElement("Parameters"); 

    writer->WriteStartElement("ParamterList"); 
       // A list including approximately 100 entries 
       writer->WriteAttributeString("ID", "001"); 
       writer->WriteAttributeString("Name", "Dummy1"); 
       writer->WriteAttributeString("BitOffset", "0"); 
    writer->WriteEndElement(); 

writer->WriteEndElement(); 

どのようにそれは私のアプリケーションにリストを挿入することが可能です。私の出力は次のようになりますための答え1に示すコードに

<root Name="database" Purpose="test" Project="test"> 
<Description Version="1.1B" Author="name">test</Description> 
<ContainerList> 
    <Container Name="Dummy1" BitOffset="0" /> 
</ContainerList> 
<ParameterList> 
    <Paramter ID="001" Name="Dummy1" BitOffset="0" /> 
    <Paramter ID="002" Name="Dummy2" BitOffset="1" /> 
    <Paramter ID="003" Name="Dummy3" BitOffset="0" /> 
    <Paramter ID="004" Name="Dummy4" BitOffset="0" /> 
    ...... 
</ParameterList> 

、私は今のXmlWriterにリストを使用する方法を知っているが、現時点では私は実際にどのように知りませんこのコードのクラスを接続して記述しますか?

答えて

1

Paramter(正しく入力しましたか?)要素はXML要素です。したがって、WriteStartElementコールとWriteEndElementコールが必要です。これらの呼び出しの中で、IDやその他の属性を追加します。あなたのリストは次のようなものになります:

for (auto listElement :list) //Using C++0x syntax 
{ 
    writer->WriteStartElement("Paramter"); 
    writer->WriteAttributeString("ID", listElement.id()); 
    writer->WriteAttributeString("Name", listElement.name()); 
    writer->WriteAttributeString("BitOffset", listElement.bitOffset()); 
    writer->WriteEndElement(); 
} 
+1

@Peter:このコードにクラスを接続して書く方法とはどういう意味ですか?あなたはC++でXmlWriterを書く方法を尋ねていますか?あなたはどんなクラスを指していますか? –

+0

ありがとう、すべてが修正されました!私は間違った方法を考えた;) – Peter

+0

マネージコード(cli)なしでxmlwriterを使用する可能性はありますか? – Peter

関連する問題