int Generate_Xml::rewriteXMLFile(QVector<QLineEdit *> p,int j,int track_tabsibling) { bool tab; int tab_get; QFile Default("default1.xml"); QXmlStreamWriter *xmlWriter = new QXmlStreamWriter(); QXmlStreamWriter *newline = new QXmlStreamWriter(); xmlWriter->setDevice(&Default); newline->setDevice(&Default); xmlWriter->setAutoFormatting (true); xmlWriter->setAutoFormatting(true); tab=xmlWriter->autoFormatting(); xmlWriter->setAutoFormattingIndent(-10); tab_get=xmlWriter->autoFormattingIndent(); if (!Default.open(QIODevice::Append)) { /* show wrror message if not able to open file */ QMessageBox::warning(0, "Read only", "The file is in read only mode"); } QString temp1; QString temp2; temp1=(p.at(j))->displayText(); newline->writeEndDocument(); for(int i=0;i<track_tabsibling;i++)//changed tab here actaully multiplied by two xmlWriter->writeCharacters("\t"); xmlWriter->writeStartElement(temp1); j++; while(p.at(j)!=0) { temp1=(p.at(j))->displayText(); j++; temp2=(p.at(j))->displayText(); j++; xmlWriter->writeAttribute(temp1,temp2); } xmlWriter->writeEndElement(); Default.close(); delete xmlWriter; delete newline; return j; }
void Generate_Xml::appendXMLFile(QLineEdit *s,QVector<QLineEdit *> p,int track_subfield,int track_tabchild,int track_tabsibling) { int j=0; QFile Default("default1.xml"); std::cout << "You are now inside appendXmlFile"; QXmlStreamWriter *xmlWriter = new QXmlStreamWriter(); QXmlStreamWriter *xmlWriter2 = new QXmlStreamWriter(); if (!Default.open(QIODevice::Append)) { /* show wrror message if not able to open file */ QMessageBox::warning(0, "Read only", "The file is in read only mode"); } else { QString tem; QString temp1; xmlWriter->setAutoFormatting (true); xmlWriter->setDevice(&Default); xmlWriter2->setDevice(&Default); xmlWriter->autoFormatting(); tem=s->displayText(); xmlWriter2->writeEndDocument(); for(int i=0;i<track_tabchild;i++) { xmlWriter->writeCharacters("\t"); } xmlWriter->writeStartElement(tem); /* std::cout << "You are now appending to the file";*/ /*xmlWriter1->setDevice(&Default);*/ /*xmlWriter1->autoFormatting();*/ /*xmlWriter1->setAutoFormatting (true);*/ //while(i<t) //{ // if(p.at(i)==0 && i != (t-1)) // { // i++; // // tem=(p.at(i))->displayText(); // /*temp=tem.toStdString();*/ // xmlWriter->writeStartElement(tem); // i++; // // // } // if(p.at(i-1)!= 0 && p.at(i)== 0) // { // //xmlWriter1->writeCharacters(" "); // xmlWriter->writeEndDocument(); // i++; // // if(i=t) // break; // // } // if(p.at(i)!= 0) // { // tem=(p.at(i))->displayText(); // i++; // // temp1=(p.at(i))->displayText(); // i++; // // xmlWriter->writeAttribute(tem,temp1); // // } //} xmlWriter->writeCharacters(" "); Default.close(); for(int i=0;i<track_subfield;++i) j=rewriteXMLFile(p,j+1,track_tabsibling); //xmlWriter->writeStartDocument(); //xmlWriter->writeAttribute("name"," ");//This is only useful //xmlWriter->writeEndDocument(); } delete xmlWriter2; bool a; Default.open(QIODevice::Append); QXmlStreamWriter *xmlWriter1 = new QXmlStreamWriter(); xmlWriter1->setDevice(&Default); xmlWriter1->writeEndDocument(); a=xmlWriter->autoFormatting(); xmlWriter->setAutoFormatting(a); //xmlWriter->writeCharacters(" "); for(int i=0;i<track_tabchild;i++) { xmlWriter->writeCharacters("\t"); } xmlWriter->writeEndDocument(); delete xmlWriter; delete xmlWriter1; }