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>
26 :pOutDoc(nullptr),
errorMsg(
""), _IsError(false)
28 pOutDoc =
new Poco::XML::Document;
30 pOutDoc->appendChild(pRoot);
38 Poco::XML::InputSource sourceDoc(is);
39 Poco::XML::DOMParser parser;
40 Poco::AutoPtr<Poco::XML::Document> pDoc = parser.parse(&sourceDoc);
41 Poco::XML::NodeIterator it_doc(pDoc, Poco::XML::NodeFilter::SHOW_ALL);
42 Poco::XML::Node* pNode = it_doc.nextNode();
43 Poco::XML::Node* docNode = pNode;
50 Poco::AutoPtr<Poco::XML::Element> pDocElem =
static_cast<Poco::XML::Element*
>(pOutDoc->importNode(docNode,
true));
51 pRoot->appendChild(pDocElem);
53 pNode = it_doc.nextNode();
58 catch(Poco::Exception& e)
60 errorMsg = e.displayText();
69 Poco::XML::DOMWriter writer;
70 writer.setNewLine(
"\n");
71 writer.setOptions(Poco::XML::XMLWriter::PRETTY_PRINT | Poco::XML::XMLWriter::WRITE_XML_DECLARATION);
72 writer.writeNode(os, pOutDoc);
87 Poco::XML::InputSource sourceDoc(is);
88 Poco::XML::DOMParser parser;
89 Poco::AutoPtr<Poco::XML::Document> pDoc = parser.parse(&sourceDoc);
90 Poco::XML::NodeIterator it_doc(pDoc, Poco::XML::NodeFilter::SHOW_ALL);
91 Poco::XML::Node* pNode = it_doc.nextNode();
97 Poco::AutoPtr<Poco::XML::NamedNodeMap> pMap = pNode->attributes();
100 for (
size_t i=0;i<pMap->length();++i)
102 if (pMap->item(i)->nodeValue().empty())
103 pMap->item(i)->setNodeValue(
"0");
108 pNode = it_doc.nextNode();
112 catch(Poco::Exception& e)
114 errorMsg = e.displayText();
125 Poco::XML::InputSource sourceDoc(is);
126 Poco::XML::DOMParser parser;
127 Poco::AutoPtr<Poco::XML::Document> pDoc = parser.parse(&sourceDoc);
128 Poco::XML::NodeIterator it_doc(pDoc, Poco::XML::NodeFilter::SHOW_ALL);
129 Poco::XML::Node* pNode = it_doc.nextNode();
135 Poco::AutoPtr<Poco::XML::NamedNodeMap> pMap = pNode->attributes();
138 for (
size_t i=0;i<pMap->length();++i)
148 std::stoull(pMap->item(i)->nodeValue());
150 catch(std::exception& e)
161 pNode = it_doc.nextNode();
165 catch(Poco::Exception& e)
167 errorMsg = e.displayText();