void IpBlocksLoader::load() { m_blocks.clear(); const pair<bool,string> xml = loadIpBlocksXml(); if (!xml.second.empty()) { bool retry = false; try { SimpleXMLReader(this).fromXML(xml.second); } catch (const SimpleXMLException& e) { LOG_MESSAGE("Error parsing XML: " + e.getError()); retry = true; } if (retry && xml.first) { #ifdef _DEBUG m_operatorIds.clear(); #endif m_blocks.clear(); try { SimpleXMLReader(this).fromXML(loadIpBlocksResourceXml()); } catch (const SimpleXMLException& e) { LOG_MESSAGE("Error parsing resource XML: " + e.getError()); } } } }
string DirectoryListing::loadXML(const string& xml, bool updating) { setUtf8(true); ListLoader ll(getRoot(), updating); SimpleXMLReader(&ll).fromXML(xml); return ll.getBase(); }
string DirectoryListing::loadXML(InputStream& is, bool updating, bool p_is_own_list) { CFlyLog l_log("[loadXML]"); ListLoader ll(this, getRoot(), updating, getUser(), p_is_own_list); //l_log.step("start parse"); SimpleXMLReader(&ll).parse(is); l_log.step("Stop parse file:" + m_file); m_is_mediainfo = ll.isMediainfoList(); m_is_own_list = p_is_own_list; return ll.getBase(); }
void SimpleXML::fromXML(const string& aXML) { if(!root.children.empty()) { delete root.children[0]; root.children.clear(); } TagReader t(&root); SimpleXMLReader(&t).parse(aXML.c_str(), aXML.size(), false); if(root.children.size() != 1) { throw SimpleXMLException("Invalid XML file, missing or multiple root tags"); } current = &root; resetCurrentChild(); }
tstring HtmlToRtf::convert(const string& html, RichTextBox* box) { Parser parser(box); try { SimpleXMLReader(&parser).parse(html); } catch(const SimpleXMLException& e) { return Text::toT(e.getError()); } return parser.finalize(); }
LRESULT PublicHubsFrame::onSelChangedISPTree(int /*idCtrl*/, LPNMHDR pnmh, BOOL& /*bHandled*/) { NMTREEVIEW* p = (NMTREEVIEW*) pnmh; if (p->itemNew.state & TVIS_SELECTED) { CWaitCursor l_cursor_wait; //-V808 m_ctrlHubs.DeleteAllItems(); if (p->itemNew.lParam == e_HubListItem) { tstring buf; buf.resize(100); if (m_ctrlTree.GetItemText(p->itemNew.hItem, &buf[0], buf.size())) { const string l_url = Text::fromT(buf.c_str()); CFlyLog l_log("Download Hub List"); std::vector<byte> l_data; l_log.step("URL = " + l_url); CFlyHTTPDownloader l_http_downloader; //l_http_downloader.setInetFlag(INTERNET_FLAG_RESYNCHRONIZE); l_http_downloader.m_is_use_cache = true; if (l_http_downloader.getBinaryDataFromInet(l_url, l_data, 1000)) { const string ext = Util::getFileExt(l_url); if (stricmp(ext, ".bz2") == 0) { std::vector<byte> l_out(l_data.size() * 20); size_t outSize = l_out.size(); size_t sizeRead = l_data.size(); UnBZFilter unbzip; try { unbzip(l_data.data(), (size_t &)sizeRead, &l_out[0], outSize); l_out[outSize] = 0; HubEntryList& l_list = m_publicListMatrix[l_url]; l_list.clear(); try { PubHubListXmlListLoader loader(l_list); SimpleXMLReader(&loader).parse((const char*)l_out.data(), outSize, false); m_hubs = l_list; updateList(); } catch (const Exception& e) { l_log.step("XML parse error = " + e.getError()); } } catch (const Exception& e) { l_log.step("Unpack error = " + e.getError()); } } } } } else { TStringSet l_items; LoadTreeItems(l_items, p->itemNew.hItem); int cnt = 0; for (auto i = l_items.cbegin(); i != l_items.end(); ++i) { TStringList l; l.resize(COLUMN_LAST); l[COLUMN_SERVER] = *i; m_ctrlHubs.insert(cnt++, l, I_IMAGECALLBACK); // !SMT!-IP } } m_ctrlHubs.resort(); updateStatus(); } return 0; }