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>
10 #include <Poco/SharedPtr.h>
11 #include <Poco/AutoPtr.h>
35 Poco::XML::DOMParser parser;
36 Poco::AutoPtr<Poco::XML::Document> pDoc = parser.parse(&sourceSchema);
37 Poco::XML::NodeIterator it_doc(pDoc, Poco::XML::NodeFilter::SHOW_ALL);
38 Poco::XML::Node* pNode = it_doc.nextNode();
44 Poco::AutoPtr<Poco::XML::NamedNodeMap> pMap = pNode->attributes();
49 for (
size_t i=0;i<pMap->length();++i)
52 name = pMap->item(i)->nodeValue();
57 weight = std::stoul(pMap->item(i)->nodeValue());
59 catch(std::exception& exc)
61 throw Poco::Exception(
"Attribute '"+name+
"' have invalid_argument ("+exc.what()+
")");
65 Vec.push_back(std::make_pair(name, weight));
68 pNode = it_doc.nextNode();
72 catch(Poco::Exception& e)
74 errorMsg = e.message();
87 Poco::XML::DOMParser parser;
88 Poco::AutoPtr<Poco::XML::Document> pDoc = parser.parse(&sourceSchema);
89 Poco::XML::NodeIterator it_doc(pDoc, Poco::XML::NodeFilter::SHOW_ALL);
90 Poco::XML::Node* pNode = it_doc.nextNode();
96 Poco::AutoPtr<Poco::XML::NamedNodeMap> pMap = pNode->attributes();
99 for (
size_t i=0;i<pMap->length();++i)
101 names.push_back(pMap->item(i)->nodeValue());
106 pNode = it_doc.nextNode();
110 catch(Poco::Exception& e)
112 errorMsg = e.message();