XIOS  1.0
Xml I/O Server
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Définitions de type Énumérations Valeurs énumérées Amis Macros
xml_parser.hpp
Aller à la documentation de ce fichier.
1 #ifndef __XIOS_CXMLParser__
2 #define __XIOS_CXMLParser__
3 
5 #include "xios_spl.hpp"
6 #include "exception.hpp"
7 #include "cxios.hpp"
8 #include "xml_node.hpp"
9 
10 
11 namespace xios
12 {
13  namespace xml
14  {
16  class CXMLParser
17  {
18  public :
19 
20  static void ParseFile(const StdString & filename, const std::set<StdString>& parseList = std::set<StdString>());
21  static void ParseString(const StdString & xmlContent);
22  static void ParseStream(StdIStream & stream, const string& fluxId, const std::set<StdString>& parseList);
23  template <class T>
24  static void ParseInclude(StdIStream & stream, const string& fluxId, T & object);
25 
26  }; //class CXMLParser
27 /*
28  template <class T>
29  void CXMLParser::ParseInclude(StdIStream & stream, T& object)
30  {
31  StdOStringStream oss;
32  while(!stream.eof() && !stream.fail ())
33  oss.put(stream.get());
34  try
35  {
36  const StdString xmlcontent( oss.str(), 0, oss.str().size()-1 );
37  rapidxml::xml_document<char> doc;
38  doc.parse<0>(const_cast<char*>(xmlcontent.c_str()));
39  CXMLNode node(doc.first_node());
40  object.parse(node);
41  }
42  catch (rapidxml::parse_error & exc)
43  {
44  ERROR("CXMLParser::ParseStream(StdIStream & stream)",
45  << "RapidXML error : " << exc.what() << " !");
46  }
47  }
48 */
49  }// namespace xml
50 } // namespace xios
51 
52 #endif // __XIOS_CXMLParser__
////////////////////// Déclarations ////////////////////// ///
Definition: xml_parser.hpp:16
static void ParseStream(StdIStream &stream, const string &fluxId, const std::set< StdString > &parseList)
Definition: xml_parser.cpp:34
static void ParseFile(const StdString &filename, const std::set< StdString > &parseList=std::set< StdString >())
////////////////////// Définitions ////////////////////// ///
Definition: xml_parser.cpp:15
std::string StdString
Definition: xios_spl.hpp:48
#define xios(arg)
std::istream StdIStream
Definition: xios_spl.hpp:47
static void ParseString(const StdString &xmlContent)
Definition: xml_parser.cpp:27
static void ParseInclude(StdIStream &stream, const string &fluxId, T &object)