コード例 #1
0
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;
}
コード例 #2
0
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;

}