0

ここにいる誰かが xerces-c の使用についてある程度の知識を持っていることを願っています。有効な XML パケットを含む文字列があります。ただし、XML とは関係のない主要なデータがいくつかありました。xerces-c SAXParser で先頭のデータを無視し、最初に見つかった有効な XML を単純に解析することは可能ですか? 以下のように、DTD を使用せずに非常に単純なセットアップを使用しています。

  SAXParser* lp_parser(0);

  MySaxHandler l_handler; 

  lp_parser->setDocumentHandler((DocumentHandler *)&l_handler);
  lp_parser->setDoNamespaces(false); 
  lp_parser->setDoNamespaces(false); 
  lp_parser->setDoSchema(false);
  lp_parser->setValidationSchemaFullChecking(false);

  MemBufInputSource lp_membuf((const XMLByte*)l_data.c_str(),
                              l_data.size(), 
                              "My XML request",
                              false);

  lp_parser->parse(lp_membuf);

l_data はstd::string、初期データを含む XML パケットを含むもので、MySaxHandler関心のあるいくつかのタグを保存する場所です。もちろん、自分で XML の開始を見つけるまでスキップできますが、それは私が望んでいた答えではありません。

4

0 に答える 0