0

xml ファイル内に要素 dateselection、blackscholes、volatility があります。これらの値を確認したいのですが、std::cout を使用してコンテンツを出力しようとするとビルド エラーが発生します。また、要素が内部に存在するかどうかも確認したいと思います。 if(blackscholes.exists()) などの xml ファイル。そのような機能はコード合成内に存在しますか?

dateselection& date = i->dateselection();
const xsd::cxx::tree::date<char,simple_type>& end =  date.enddate();
const xsd::cxx::tree::sequence<bool, true>& black = i->blackscholes();
const xsd::cxx::tree::sequence<bool, true>& volatility = i->volatility();

また、終了日を boost/date_time/gregorian/gregorian 型に変換できますか?

前もって感謝します

4

1 に答える 1

0

インターフェイス ファイル (生成された hxx スタブ) を調べると、次の型が文字列と bool に相当する xml ライブラリにマッピングされていることがわかりました: ::xml_schema::string, ::xml_schema::date,vanillaoption::blackscholes_type. 名前はスキーマによって異なる場合がありますが、これらを使用して値を処理および出力することができました (::xml プレフィックスで名前を検索してください)。オプションのフィールドをチェックするには、「choice」内に要素を配置する必要があります。スタブは「present」と呼ばれる各要素の関数を生成します。これを使用して、構成ファイル内に要素が存在するかどうかを判断できます。例えば

for(quantoptions::vanillaoption_iterator i (optionConfig->vanillaoption().begin()); i != optionConfig->vanillaoption().end(); ++i)
{
    dateselection& date = i->dateselection();
    ::xml_schema::string symbol = i->symbol();
    ::xml_schema::date &endDate =  date.enddate();
    if(i->blackscholes().present())
    {
        //do whatever
    }
}
于 2013-09-10T23:31:14.220 に答える