|mo|
Mitglied
Hallo!
Folgendes Problem:
Ich habe eine Reihe von XML-Dateien, aus denen ich gerne einige Tags entfernen würde (immer die gleichen Tags die raus sollen).
Hatte mir gedacht, ich mach das mit getline, klappt auch prinzipiell, allerdings nur, wenn ich nur ein Element entfernen will, bei mehreren gibts leider Probleme...
Kann jm. mal über den Code schauen und mir sagen, wo mein Denkfehler ist? Bin leider noch ziemlicher Neuling in Sachen C++
Folgendes Problem:
Ich habe eine Reihe von XML-Dateien, aus denen ich gerne einige Tags entfernen würde (immer die gleichen Tags die raus sollen).
Hatte mir gedacht, ich mach das mit getline, klappt auch prinzipiell, allerdings nur, wenn ich nur ein Element entfernen will, bei mehreren gibts leider Probleme...
Kann jm. mal über den Code schauen und mir sagen, wo mein Denkfehler ist? Bin leider noch ziemlicher Neuling in Sachen C++
Code:
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <conio.h>
#include <string>
using namespace std;
int main(int argc, char* argv[])
{
ifstream datei;
ofstream neuedatei;
string zeile;
datei.open("test.xml", ios::in);
neuedatei.open("temp.xml", ios::out);
bool gefunden = false;
do
{
getline(datei,zeile);
if(zeile.find( "<Datum>" ) !=string::npos)
gefunden = true;
if(!gefunden)
neuedatei << zeile << endl;
if(zeile.find( "</Datum>" ) !=string::npos)
gefunden = false;
getline(datei,zeile);
if(zeile.find( "<Plakat>" ) !=string::npos)
gefunden = true;
if(!gefunden)
neuedatei << zeile << endl;
if(zeile.find( "</Plakat>" ) !=string::npos)
gefunden = false;
}while(!datei.eof());
datei.close();
neuedatei.close();
return 0;
}