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_datastd::string包含我的 XML 数据包,包括初始数据,MySaxHandler是我保存我感兴趣的几个标签的地方。我当然可以跳过,直到我自己找到 XML 的开头,但这不是我希望的答案。

4

0 回答 0