source:
vendors/XIOS/current/src/xml_parser.hpp
@
7197
Last change on this file since 7197 was 3428, checked in by rblod, 12 years ago | |
---|---|
File size: 1.4 KB |
Line | |
---|---|
1 | #ifndef __XMLIO_CXMLParser__ |
2 | #define __XMLIO_CXMLParser__ |
3 | |
4 | /// xios headers /// |
5 | #include "xmlioserver_spl.hpp" |
6 | #include "exception.hpp" |
7 | #include "xml_node.hpp" |
8 | |
9 | |
10 | namespace xios |
11 | { |
12 | namespace xml |
13 | { |
14 | /// ////////////////////// Déclarations ////////////////////// /// |
15 | class CXMLParser |
16 | { |
17 | public : |
18 | |
19 | static void ParseFile(const StdString & filename); |
20 | static void ParseString(const StdString & xmlContent); |
21 | static void ParseStream(StdIStream & stream); |
22 | template <class T> |
23 | static void ParseInclude(StdIStream & stream, T & object); |
24 | |
25 | }; //class CXMLParser |
26 | /* |
27 | template <class T> |
28 | void CXMLParser::ParseInclude(StdIStream & stream, T& object) |
29 | { |
30 | StdOStringStream oss; |
31 | while(!stream.eof() && !stream.fail ()) |
32 | oss.put(stream.get()); |
33 | try |
34 | { |
35 | const StdString xmlcontent( oss.str(), 0, oss.str().size()-1 ); |
36 | rapidxml::xml_document<char> doc; |
37 | doc.parse<0>(const_cast<char*>(xmlcontent.c_str())); |
38 | CXMLNode node(doc.first_node()); |
39 | object.parse(node); |
40 | } |
41 | catch (rapidxml::parse_error & exc) |
42 | { |
43 | ERROR("CXMLParser::ParseStream(StdIStream & stream)", |
44 | << "RapidXML error : " << exc.what() << " !"); |
45 | } |
46 | } |
47 | */ |
48 | }// namespace xml |
49 | } // namespace xios |
50 | |
51 | #endif // __XMLIO_CXMLParser__ |
Note: See TracBrowser
for help on using the repository browser.