CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DQMParserBase.cc
Go to the documentation of this file.
3 
4 
5 #include <stdexcept>
16 using namespace xercesc;
17 
19  parser=0;
20 }
21 
23  delete parser;
24  parser=0;
25 }
26 
27 
28 void DQMParserBase::getDocument(std::string configFile, bool UseDB){
29 
30  parser = new XercesDOMParser;
31  parser->setValidationScheme(XercesDOMParser::Val_Auto);
32  parser->setDoNamespaces(false);
33  if(UseDB){
34 // std::cout<<"=== This is config file from getDocument ====== "<<std::endl;
35 // std::cout<<configFile<<std::endl;
36  MemBufInputSource mb((const XMLByte*)configFile.c_str(),strlen(configFile.c_str()),"",false);
37  parser->parse(mb);
38  }
39  else{
40  parser->parse(configFile.c_str());
41  }
42  xercesc::DOMDocument* doc = parser->getDocument();
43  assert(doc);
44 
45 }
46 
47 void DQMParserBase::getNewDocument(std::string configFile, bool UseDB){
48  parser->resetDocumentPool();
49  if(UseDB){
50  std::cout<<"=== This is config file from getNewDocument ==== "<<std::endl;
51  std::cout<<configFile<<std::endl;
52  MemBufInputSource mb((const XMLByte*)configFile.c_str(),strlen(configFile.c_str()),"",false);
53  parser->parse(mb);
54  }
55  else{
56  parser->parse(configFile.c_str());
57  }
58  xercesc::DOMDocument* doc = parser->getDocument();
59  assert(doc);
60 
61 }
63  unsigned int tagsNum =
64  parser->getDocument()->getElementsByTagName(qtxml::_toDOMS(tagName))->getLength();
65  return tagsNum;
66 }
void getDocument(std::string configFile, bool UseDB=false)
Methor that parses the xml file configFile.
int countNodes(std::string tagName)
Returns the number of nodes with given name.
tuple doc
Definition: asciidump.py:381
void getNewDocument(std::string configFile, bool UseDB=false)
Parses a new Document.
DQMParserBase()
Creator.
virtual ~DQMParserBase()
Destructor.
XMLCh * _toDOMS(std::string temp)
tuple cout
Definition: gather_cfg.py:121