bool CSimpleXml::ModifyXmlAttri(list<XMLNODEINFO> &lstNode) { if(m_pDoc == NULL || m_pRoot == NULL) { return false; } list<XMLNODEINFO>::iterator itlst = lstNode.begin(); for(; itlst != lstNode.end(); ++itlst) { if(!ModifyOneAttri(*itlst)) { return false; } } TiXmlPrinter printer; char szBuf[32]; memset(szBuf, 0, 32); szBuf[0] = 0x9; printer.SetIndent(szBuf); szBuf[0] = 0x0a; printer.SetLineBreak(szBuf); if(m_pDoc->Accept(&printer)) { m_strXml = printer.CStr(); } else { return false; } return true; }
void wxsCustomWidget::RebuildXmlData() { TiXmlPrinter Printer; Printer.SetIndent("\t"); m_XmlDataDoc.Accept(&Printer); m_XmlData = cbC2U(Printer.CStr()); }
void CUIDesignerView::OnEditCopy() { ASSERT(m_cfUI != NULL); TiXmlDocument xmlDoc; TiXmlDeclaration Declaration("1.0","utf-8","yes"); xmlDoc.InsertEndChild(Declaration); TiXmlElement* pCopyElm = new TiXmlElement("UICopy"); CopyUI(pCopyElm); xmlDoc.InsertEndChild(*pCopyElm); TiXmlPrinter printer; xmlDoc.Accept(&printer); delete pCopyElm; CSharedFile file(GMEM_MOVEABLE, printer.Size() + 1); file.Write(printer.CStr(), printer.Size()); file.Write("\0", 1); COleDataSource* pDataSource = NULL; TRY { pDataSource = new COleDataSource; pDataSource->CacheGlobalData(m_cfUI, file.Detach()); pDataSource->SetClipboard(); } CATCH_ALL(e) { delete pDataSource; THROW_LAST(); } END_CATCH_ALL }
std::tr1::shared_ptr<std::string> APIServiceManager::_GetXMLDocumentString() { TiXmlPrinter xmlPrinter; _XmlDoc.Accept( &xmlPrinter ); return std::tr1::shared_ptr<std::string>(new std::string(xmlPrinter.CStr())); }
bool CSimpleXml::OpenXml(const string &strXml, int nXmlType) { if(strXml.empty()) { return false; } // m_pDoc = new TiXmlDocument(strXml.c_str()); if(XMLFILE == nXmlType)//解析文件 { m_pDoc = new TiXmlDocument(strXml.c_str()); if(!m_pDoc->LoadFile()) { return false; } } else if(XMLSTR == nXmlType)//解析字符串 { m_pDoc = new TiXmlDocument; m_pDoc->Parse(strXml.c_str()); } m_pRoot = m_pDoc->RootElement(); if(NULL == m_pDoc || NULL == m_pRoot) { return false; } TiXmlPrinter printer; printer.SetStreamPrinting(); if(m_pDoc->Accept(&printer)) { m_strXml = printer.CStr(); return true; } return false; }
void CreateResponXML(int nID, const char *szResult, char *RetXML) { TiXmlDocument *XmlDoc; TiXmlElement *RootElement; TiXmlElement *Segment; TiXmlDeclaration HeadDec; TiXmlPrinter Printer; // 创建XML文档 XmlDoc = new TiXmlDocument(); // 增加XML的头部说明 HeadDec.Parse("<?xml version=\"1.0\" encoding=\"gb2312\" ?>", 0, TIXML_ENCODING_UNKNOWN); XmlDoc->LinkEndChild(&HeadDec); RootElement = new TiXmlElement("CardProcess"); Segment = new TiXmlElement("ReturnInfo"); Segment->SetAttribute("ID", nID); Segment->SetAttribute("Desc", szResult); RootElement->LinkEndChild(Segment); XmlDoc->LinkEndChild(RootElement); XmlDoc->Accept(&Printer); strcpy(RetXML, Printer.CStr()); }
//--------------------------------------------------------- void ofxXmlSettings::copyXmlToString(string & str) { TiXmlPrinter printer; doc.Accept(&printer); str = printer.CStr(); }
bool CSimpleXml::ModifyXml(list<XMLNODEINFO> &lstXmlNodes) { if(m_pDoc == NULL || m_pRoot == NULL) { return false; } list<XMLNODEINFO>::iterator itlist = lstXmlNodes.begin(); int nSize = lstXmlNodes.size(); for(int i = 0; i < nSize; ++i) { if(!AccessXmlNode((*itlist), MODIFY)) { return false; } ++itlist; } TiXmlPrinter printer; printer.SetStreamPrinting(); if(m_pDoc->Accept( &printer )) { m_strXml = printer.CStr(); } else { return false; } return true; }
// QC:A (discussion possible sur l'utilisation de snprintf. Les buffers statiques ne sont pas thread safe.) char* ScriptVariable::getstr() const { if(isPointer()) { return getPointee()->getstr(); } if(type == VAR_NULL) { return NULL; } if(type == VAR_INT) { static char number[32]; snprintf(number, 32, "%d", value); number[31] ='\0'; return number; } if(type == VAR_XML) { static TiXmlPrinter printer; printer = TiXmlPrinter(); printer.SetStreamPrinting(); TiXmlNode* node = (TiXmlNode*) data; node->Accept(&printer); return (char*)printer.CStr(); } if(type == VAR_OBJ) { static char address[256]; snprintf(address, 256, "(*%p:%s)", data, ((ScriptableObject*)data)->getClassName()); address[255] ='\0'; return address; } if(type == VAR_PAIR) { static char number[64]; snprintf(number, 64, "(%ld:%ld)", (long) data, (long) params); number[63] ='\0'; return number; } if(type == VAR_PACK) { static char info[4096]; // XXX : NOT thread safe snprintf(info, 4096, "(*%p => \"%s\")", data, params); info[4095] ='\0'; return info; } if(type == VAR_TBL) { static char info[4096]; // XXX : NOT thread safe snprintf(info, 4096, "(tbl[%ld]:*%p)", (long)(data?(((ScriptTable*)data)->size()):0), data); info[4095] ='\0'; return info; } if(type == VAR_FCT) { return params; } return data; }
size_t XMLSource::getText(const char*& outputBuffer) { TiXmlPrinter printer; printer.SetStreamPrinting(); xassert(doc, "No document to save."); doc->Accept(&printer); outputBuffer = printer.CStr(); return printer.Size(); }
std::string em::EmXml::GetText() { std::string strResult; TiXmlPrinter docPrinter; m_pDoc->Accept(&docPrinter); strResult = docPrinter.CStr(); return strResult; }
void CXmlDocument::ToString(CDataBuffer& buffer) { TiXmlPrinter printer; printer.SetLineBreak("\r\n"); printer.SetIndent("\t"); _doc->Accept(&printer); buffer.Add(printer.CStr()); }
status_t Converter::ConvertPDoc2FreeMind() { status_t err = B_OK; BMessage *inMessage = new BMessage(); BMessage *tmpMessage = new BMessage(); void *id = NULL; allConnections = new BMessage(); selected = new BMessage(); allNodes = new BMessage(); err = inMessage->Unflatten(in); if (err == B_OK) { inMessage->FindMessage("PDocument::allConnections",allConnections); inMessage->FindMessage("PDocument::selected",selected); inMessage->FindMessage("PDocument::allNodes",allNodes); int32 i = 0; while(allNodes->FindMessage("node",i,tmpMessage)==B_OK) { tmpMessage->FindPointer("this",&id); nodes[(int32)id]=tmpMessage; tmpMessage = new BMessage(); - i++; } i = 0; while(allConnections->FindMessage("node",i,tmpMessage)==B_OK) { tmpMessage->FindPointer("this",&id); connections[(int32)id]=tmpMessage; tmpMessage = new BMessage(); i++; } BMessage *node= GuessStartNode(); TiXmlDocument doc; TiXmlElement freeMap("map"); freeMap.SetAttribute("version","0.9.0"); freeMap.SetAttribute("background_color","#ffffff"); TiXmlComment comment("this File was gernerated by ProjectConceptor! - To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net"); freeMap.InsertEndChild(comment); tmpMessage=GuessStartNode(); // tmpMessage = nodes.begin()->second; freeMap.InsertEndChild(ProcessNode(tmpMessage)); doc.InsertEndChild(freeMap); TiXmlPrinter printer; // printer.SetStreamPrinting(); // printer.SetLineBreak("\n"); // printer.SetIndent("\t"); doc.Accept( &printer ); out->Write(printer.CStr(),strlen(printer.CStr())); } return err; }
std::string SerializeBase::nodeToString(const TxElement& node) { try { TiXmlPrinter printer; printer.SetIndent(" "); node.Accept(&printer); return printer.CStr(); } catch (TxException&) { return "No valid root node"; } }
void xml_write_archive::save(const variant& what) { TiXmlPrinter printer; printer.SetIndent( "\t" ); base_write_archive::save( what ); doc_.Accept( &printer ); result_ = printer.Str(); }
std::string tiXmlToStr(TiXmlNode* xmlNode) { //print TiXmlPrinter printer; printer.SetIndent( "\t" ); xmlNode->Accept( &printer ); const std::string& result = printer.Str(); return result; }
bool CXBMCTinyXML::SaveFile(const std::string& filename) const { XFILE::CFile file; if (file.OpenForWrite(filename, true)) { TiXmlPrinter printer; Accept(&printer); return file.Write(printer.CStr(), printer.Size()) == static_cast<ssize_t>(printer.Size()); } return false; }
bool TinyXML::SaveDocument(const wxString& filename, TiXmlDocument* doc) { if (!doc) return false; TiXmlPrinter printer; printer.SetIndent("\t"); doc->Accept(&printer); return Manager::Get()->GetFileManager()->SaveUTF8(filename, printer.CStr(), printer.Size()); }
string& Message::GenerateMessage() { mStrMessage = ""; if(null != mXmlDoc) { TiXmlPrinter printer; mXmlDoc->Accept(&printer); mStrMessage = printer.CStr(); } return mStrMessage; }
void readXml(string filename) { //获取当前的工作目录 getcwd(buffer, MAX_PATH); string seperator = "\\"; string fullPath = buffer+seperator+filename; //判断文件是否存在 if(access(fullPath.c_str(),0)==-1) { //文件不存在,下面直接略过 cerr<<"配置文件"+fullPath+"不存在"<<endl; return; } //读取配置文件xml TiXmlDocument doc(fullPath.c_str()); bool loadOk = doc.LoadFile(); if (!loadOk) { cout << "could load:" << doc.ErrorDesc() << endl; } //输出整个配置文件的内容 TiXmlPrinter printer;//提供的工具类,目的是将xml的数据按格式输出 doc.Accept(&printer); cout << printer.CStr() << endl;//输出 //获得根元素<Configuration> TiXmlElement* rootElement =doc.RootElement(); //循环处理<property>节点 TiXmlElement* nextElement=rootElement->FirstChildElement(); while(nextElement!=NULL) { //获取其中<name>节点 TiXmlElement* nameElement=nextElement->FirstChildElement(); //获取其中<value>节点 TiXmlElement* valueElement=nameElement->NextSiblingElement(); //获取上述节点的值 //cout<<nextElement->Value()<<endl; // cout<<nameElement->FirstChild()->Value()<<endl; parameter[nameElement->FirstChild()->Value()]=valueElement->FirstChild()->Value(); //cout<<valueElement->FirstChild()->Value()<<endl; nextElement=nextElement->NextSiblingElement(); } //循环遍历parameter中的参数,进行输出 map<string, string>::iterator iter; for(iter = parameter.begin(); iter != parameter.end(); iter++) { cout<<iter->first<<" "<<iter->second<<endl; } }
void Export_DAE(std::ostream &s, Mesh * aMesh, Options &aOptions) { // Create the XML document TiXmlDocument doc("model"); Export_DAE(doc, aMesh, aOptions); // Write the document to the stream. TiXmlPrinter printer; printer.SetIndent(" "); doc.Accept(&printer); s << printer.CStr(); }
string GarminFilebasedDevice::getDeviceDescription() const { if (this->deviceDescription == NULL) { return ""; } TiXmlPrinter printer; printer.SetIndent( "\t" ); this->deviceDescription->Accept( &printer ); string str = printer.Str(); if (Log::enabledDbg()) Log::dbg("GarminFilebasedDevice::getDeviceDescription() Done: "+this->displayName ); return str; }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void XmlDocumentImpl::getAsRawData(cvf::UByteArray* buffer) const { TiXmlPrinter printer; // Use tab as indent marker printer.SetIndent( "\t" ); // Link document to printer Accept(&printer); buffer->assign((cvf::ubyte*)printer.CStr(), (size_t)printer.Size()); }
bool TreeVisitor::visitLeave(Solution& solution) { TiXmlPrinter printer; printer.SetIndent(nullptr); printer.SetLineBreak(nullptr); m_document.Accept(&printer); m_serialized = printer.CStr(); return true; }
bool CXBMCTinyXML::SaveFile(const CStdString &filename) const { XFILE::CFile file; if (file.OpenForWrite(filename, true)) { TiXmlPrinter printer; Accept(&printer); file.Write(printer.CStr(), printer.Size()); return true; } return false; }
bool CSimpleXml::AddNodes(const string &strPath, list<XMLNODEINFO> &lstaddnode) { if(m_pDoc == NULL || m_pRoot == NULL) { return false; } TiXmlElement *pCurrNode = m_pRoot; list<string> lstNode; SeperateString(lstNode, strPath, "/"); list<string>::iterator itlstNode = lstNode.begin(); while (NULL != pCurrNode) { if (itlstNode != lstNode.end() && *itlstNode == pCurrNode->Value()) { string strShow = pCurrNode->Value(); if (++itlstNode == lstNode.end()) { AddOneNode(&pCurrNode, lstaddnode); goto SIMXML; } pCurrNode = pCurrNode->FirstChildElement(); } else { pCurrNode = pCurrNode->NextSiblingElement(); } } return false; SIMXML: TiXmlPrinter printer; char szBuf[32]; memset(szBuf, 0, 32); szBuf[0] = 0x9; printer.SetIndent(szBuf); szBuf[0] = 0x0a; printer.SetLineBreak(szBuf); if(m_pDoc->Accept(&printer)) { m_strXml = printer.CStr(); } else { return false; } return true; }
std::string Partida::getXMLNivel() { XMLDocument doc; bool cargoArchivo = doc.LoadFile(idNiveles[contadorNiveles]); if (cargoArchivo == false) { std::cout << "\tError al abrir el archivo XML." << std::endl; return std::string(); } TiXmlPrinter printer; printer.SetIndent(""); printer.SetLineBreak(""); doc.Accept(&printer); return printer.CStr(); }
int em::EmXml::SaveAs( const char* szFileName, EmEncode eEnc ) { TiXmlPrinter docPrinter; m_pDoc->Accept(&docPrinter); int iResult = EmFile::WriteUtf8(szFileName,docPrinter.CStr(),eEnc); if(iResult < 0) { return iResult; } return 1; }
int tixmlnode_print(lua_State *L) { TiXmlNode_ud* xmlnode_userdata = (TiXmlNode_ud *) luaL_checkudata(L, 1, "TiXmlNode"); const TiXmlNode* node = xmlnode_userdata->xmlnode; lua_pop(L, 1); TiXmlPrinter p; node->Accept(&p); lua_pushstring(L, p.CStr()); //lua_pushinteger(L, node->GetDocument()); return 1; //2; }
void Archive::Close() { //destroy the xml root (if exists) if (xml_objects.size()) { //take the document to deallocate it while (xml_objects.size()!=1) xml_objects.pop(); TiXmlDocument* xml_doc=CURNODE->ToDocument(); //close the file (==save it) if (Saving()) { TiXmlPrinter printer; printer.SetIndent("\t"); xml_doc->Accept(&printer); const char* content= printer.CStr(); int len=(int)strlen(content)+1; bTextMode=false; //want the output to the real file InnerWrite((void*)content,len); } delete xml_doc; } xml_objects=std::stack<StackItem >(); //destry the map for SmartPointer Objects if (this->Loading()) { for (std::map<uint64,uint64>::iterator it=smart_pointers.begin();it!=smart_pointers.end();it++) { //see: http://www.boost.org/doc/libs/1_40_0/libs/smart_ptr/sp_techniques.html#preventing_delete //Interesting part: Using shared_ptr<void> to hold an arbitrary object //Checked and it seems to work (probably shared_ptr probably stores inside the correct deleter!) SmartPointer<void>* temp=(SmartPointer<void>*)(it->second); temp->reset(); delete temp; } } smart_pointers.clear(); //close the gzfile if (this->gzfile) gzclose((gzFile)this->gzfile); this->gzfile=0; //close the regular file if (this->file) fclose(this->file); this->file=0; }