void Cxml_5App::SeparateXML(char* filename1)
{
ifstream fin(filename1);
char *filename2="temp.xml";
ofstream fout(filename2);
char *filename3="buff.xml";
ofstream fout1(filename3);//DTD声明段 filename3
string s0;
string s1;
string s2;
while( getline(fin,s0) )
{
if(s0.substr(0,5)=="<!DOC")
{
s1=s0;
getline(fin,s2);
fout1<<s1<<endl<<s2;
}
else
fout<<s0<<endl;
}
fout.close();
fout1.close();
fin.close();
remove(filename1);
rename(filename2,filename1);//filename1为无DTD声明段的XML
}
void Cxml_5App::UniteXML(char* filename1)
{
ifstream fin(filename1);
ifstream fin1("buff.xml");
char *filename2="temp.xml";
ofstream fout(filename2);
string s0;
string s1;
int i=1;
int j=1;
while( getline(fin,s0) )
{
while(i==3&&j<=2)
{
j++;
getline(fin1,s1);
fout<<s1<<endl;
}
fout<<s0<<endl;
i++;
}
fout.close();
fin.close();
remove(filename1);
rename(filename2,filename1);
}