0

私の問題は、XmlWriter を使用して C++ でリストを出力することです。XML ファイルに含めることができるリストが必要です。私の計画したコード - リスト要素を生成するためにクラスを実装する必要がありますが、理由がわかりません:

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();

アプリケーションにリストを挿入する方法を教えてください。私の出力は次のようになります。

<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>

回答 1 に示されているコードにより、XmlWriter でリストを使用する方法はわかりましたが、現時点では、このコードの接続方法とクラスの作成方法がよくわかりません。

4

1 に答える 1

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();
}
于 2011-08-01T08:47:02.933 に答える