1 #include <Poco/DOM/DOMParser.h>
2 #include <Poco/DOM/DOMWriter.h>
4 #include <Poco/DOM/NodeIterator.h>
5 #include <Poco/DOM/NodeFilter.h>
6 #include <Poco/DOM/AutoPtr.h>
7 #include <Poco/DOM/NamedNodeMap.h>
8 #include <Poco/XML/XMLWriter.h>
9 #include <Poco/SAX/InputSource.h>
10 #include <Poco/DOM/Node.h>
11 #include <Poco/DOM/Document.h>
13 #include <Poco/SharedPtr.h>
14 #include <Poco/AutoPtr.h>
28 :Map(),
errorMsg(
""), _IsError(false)
33 :Map(),
errorMsg(
""), _IsError(false)
44 Poco::XML::InputSource sourceDoc(is);
45 Poco::XML::DOMParser parser;
46 Poco::AutoPtr<Poco::XML::Document> pDoc = parser.parse(&sourceDoc);
47 Poco::XML::NodeIterator it_doc(pDoc, Poco::XML::NodeFilter::SHOW_ALL);
48 Poco::XML::Node* pNode = it_doc.nextNode();
54 Poco::AutoPtr<Poco::XML::NamedNodeMap> pMap = pNode->attributes();
57 for (
size_t i=0;i<pMap->length();++i)
61 Map.insert(PARAM_ATTR__MAP::value_type(pMap->item(i)->nodeName(), std::stoull(pMap->item(i)->nodeValue())));
63 catch(std::exception& exc)
65 throw Poco::Exception(
"Attribute '"+pMap->item(i)->nodeName()+
"' have invalid_argument ("+exc.what()+
")");
70 pNode = it_doc.nextNode();
74 catch(Poco::Exception& e)
76 errorMsg = e.displayText();