<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Tag aus XML Datei auslesen]]></title><description><![CDATA[<p>Ich versuche gerade eine Funktion in einer Klasse zu schreiben, die eine XML Datei ausließt und die &quot;Losung&quot; für ein bestimmtes Datum zurück gibt. Komme irgendwie gerade nicht weiter.</p>
<p>Hier nun meine Frage:</p>
<p>Wie kann ich mir den entsprechenden Tag holen und die Datei nach einem bestimmten Datum durchsuchen?</p>
<p>Sorry falls ich undeutlich bin. abreite noch nicht lange und nicht sehr viel mit c++.</p>
<p>Das ist alles was ich bisher von der Funktion habe:</p>
<pre><code class="language-cpp">bool Losung_XML::ladenLosung(string Dateiname)
{
 ifstream los;
  los.open(&quot;Losungen.xml&quot;,ios::in);

    while(!los.eof())
    {
     string a;
     los&gt;&gt;a;
     getline(los,a);
    }
}
</code></pre>
<p>Danke für eure Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/284476/tag-aus-xml-datei-auslesen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 23:17:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/284476.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 02 Apr 2011 12:31:56 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sat, 02 Apr 2011 12:31:56 GMT]]></title><description><![CDATA[<p>Ich versuche gerade eine Funktion in einer Klasse zu schreiben, die eine XML Datei ausließt und die &quot;Losung&quot; für ein bestimmtes Datum zurück gibt. Komme irgendwie gerade nicht weiter.</p>
<p>Hier nun meine Frage:</p>
<p>Wie kann ich mir den entsprechenden Tag holen und die Datei nach einem bestimmten Datum durchsuchen?</p>
<p>Sorry falls ich undeutlich bin. abreite noch nicht lange und nicht sehr viel mit c++.</p>
<p>Das ist alles was ich bisher von der Funktion habe:</p>
<pre><code class="language-cpp">bool Losung_XML::ladenLosung(string Dateiname)
{
 ifstream los;
  los.open(&quot;Losungen.xml&quot;,ios::in);

    while(!los.eof())
    {
     string a;
     los&gt;&gt;a;
     getline(los,a);
    }
}
</code></pre>
<p>Danke für eure Hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2043676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043676</guid><dc:creator><![CDATA[pharao50]]></dc:creator><pubDate>Sat, 02 Apr 2011 12:31:56 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sat, 02 Apr 2011 12:43:38 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">bool XMLladen(string dateiname) 
{ 
	ifstream in(dateiname.c_str());
	if(!in) return false;

	while(in.good()){ 
		string str;
		getline(in, str);
		//tue etwas mit str
        cout &lt;&lt; str &lt;&lt; endl;
	} 

	return true;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2043678</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043678</guid><dc:creator><![CDATA[HighLigerBiMBam]]></dc:creator><pubDate>Sat, 02 Apr 2011 12:43:38 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sat, 02 Apr 2011 12:55:54 GMT]]></title><description><![CDATA[<p>na da lag ich dann ja fast richtig.<br />
Aber wie lese ich ein bestimmtes Datum ein?</p>
<p>Sorry hätte vielleicht noch die datei mit posten sollen...</p>
<pre><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt; 
- &lt;dataroot xmlns:od=&quot;urn:schemas-microsoft-com:officedata&quot; generated=&quot;2011-01-01T00:00:00&quot;&gt;
- &lt;Losungen&gt;
  &lt;Datum&gt;2011-01-01T00:00:00&lt;/Datum&gt; 
  &lt;Wtag&gt;Samstag&lt;/Wtag&gt; 
  &lt;Sonntag&gt;Neujahr&lt;/Sonntag&gt; 
  &lt;Losungstext&gt;Besser ein Gericht Kraut mit Liebe als ein gemästeter Ochse mit Hass.&lt;/Losungstext&gt; 
  &lt;Losungsvers&gt;Sprüche 15,17&lt;/Losungsvers&gt; 
  &lt;Lehrtext&gt;Lasst uns wahrhaftig sein in der Liebe und wachsen in allen Stücken zu dem hin, der das Haupt ist, Christus.&lt;/Lehrtext&gt; 
  &lt;Lehrtextvers&gt;Epheser 4,15&lt;/Lehrtextvers&gt; 
  &lt;/Losungen&gt;
- &lt;Losungen&gt;
  &lt;Datum&gt;2011-01-02T00:00:00&lt;/Datum&gt; 
  &lt;Wtag&gt;Sonntag&lt;/Wtag&gt; 
  &lt;Sonntag&gt;2. Sonntag nach Weihnachten&lt;/Sonntag&gt; 
  &lt;Losungstext&gt;Alle Völker werden sich verwundern und entsetzen über all das Gute und über all das Heil, das ich Jerusalem geben will.&lt;/Losungstext&gt; 
  &lt;Losungsvers&gt;Jeremia 33,9&lt;/Losungsvers&gt; 
  &lt;Lehrtext&gt;Da wir nun gerecht geworden sind durch den Glauben, haben wir Frieden mit Gott durch unsern Herrn Jesus Christus.&lt;/Lehrtext&gt; 
  &lt;Lehrtextvers&gt;Römer 5,1&lt;/Lehrtextvers&gt; 
  &lt;/Losungen&gt;
- &lt;Losungen&gt;
  &lt;Datum&gt;2011-01-03T00:00:00&lt;/Datum&gt; 
  &lt;Wtag&gt;Montag&lt;/Wtag&gt; 
  &lt;Sonntag /&gt; 
  &lt;Losungstext&gt;Ich habe mein Angesicht im Augenblick des Zorns ein wenig vor dir verborgen, aber mit ewiger Gnade will ich mich deiner erbarmen, spricht der HERR, dein Erlöser.&lt;/Losungstext&gt; 
  &lt;Losungsvers&gt;Jesaja 54,8&lt;/Losungsvers&gt; 
  &lt;Lehrtext&gt;Alle haben gesündigt und die Herrlichkeit Gottes verspielt. Gerecht gemacht werden sie ohne Verdienst aus seiner Gnade durch die Erlösung, die in Christus Jesus ist.&lt;/Lehrtext&gt; 
  &lt;Lehrtextvers&gt;Römer 3,23-24&lt;/Lehrtextvers&gt; 
  &lt;/Losungen&gt;
</code></pre>
<p>Der Sinn soll sein, dass ich später ein Datum eingeben kann und ich dann die dazu gehörige Losung bekomme.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2043684</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043684</guid><dc:creator><![CDATA[pharao50]]></dc:creator><pubDate>Sat, 02 Apr 2011 12:55:54 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sat, 02 Apr 2011 12:58:02 GMT]]></title><description><![CDATA[<p>Dazu müsstest du jetzt den Inhalt der XML-Datei auseinandernehmen. Entweder du schreibst es von Hand oder du suchst mal im Netz nach einer brauchbaren XML-Bibliothek, die dir die Aufgabe abnimmt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2043688</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043688</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 02 Apr 2011 12:58:02 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sat, 02 Apr 2011 13:19:08 GMT]]></title><description><![CDATA[<p>ginge das nicht irgendwie indem ich den Tag Datum einlese und in einer Schleife das ganze solange durchlaufe bis das gewünschte Datum gefunden wurde?</p>
<p>Folgendes soll/ist gemacht werden (Falls ich das ganze ungenau beschrieben habe):</p>
<p>Habe mir als erstes eine Struktur erstellt, die die Bestandteile von der XML Datei aufnehmen kann.<br />
Danach habe ich mir eine Klasse erstellt die folgendes können soll:<br />
- Die XML Datei auslesen und die Losung für ein bestimmtes Datum an das<br />
Hauptprogramm (Unit1.cpp) zurückgibt.</p>
<p>Hier mal das was ich bisher erstellt habe mehr oder eher weniger richtig:</p>
<p>Unit1.cpp (Hauptprogramm)</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;fstream&gt;
using namespace std;
#include&quot;Unit2.h&quot;

int main(int argc, char* argv[])
{
       Losung x;      //struct
       Losung_XML y;  //class

       cout&lt;&lt;&quot;Datum&quot;&lt;&lt;x.Datum&lt;&lt;endl;
       cout&lt;&lt;&quot;Losungstext&quot;&lt;&lt;x.Losungstext&lt;&lt;endl;
       cout&lt;&lt;&quot;Losungsvers&quot;&lt;&lt;x.Losungsvers&lt;&lt;endl;
       cout&lt;&lt;&quot;Lehrtextvers&quot;&lt;&lt;x.Lehrtextvers&lt;&lt;endl;

        getchar();
        return 0;
}
</code></pre>
<p>Unit2.cpp:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;fstream&gt;
#include&lt;string&gt;
using namespace std;
#include &quot;Unit2.h&quot;                                                              

Losung Losung_XML::zeigenSpruch(char Datum)
{
 return feld[Datum];
}

bool Losung_XML::ladenLosung(string dateiname)
{
    ifstream in(dateiname.c_str());   //Ist das so korrekt bekomme eine  
                                      //Fehlermeldung: Erwartet. 
                                      //Kann leider nix mit &quot;Erwartet&quot; anfangen

    if(!in) return false;

      while(in.good())
      {
        string str;
        getline(in, str);
        //tue etwas mit str
        cout &lt;&lt; str &lt;&lt; endl;
      }

    return true;
}
</code></pre>
<p>Unit2.h:</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;string&gt;
using namespace std;

        struct Losung
   {
    char Datum, Wtag, Sonntag, Losungstext, Losungsvers, Lehrtext, Lehrtextvers;
   };

        class Losung_XML
{
private:
          Losung feld[366];
          int AnzahlLosungen;
public:
        Losung zeigenSpruch(char Datum);
        bool ladenLosung(string dateiname);
        Losung1();
};
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2043695</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043695</guid><dc:creator><![CDATA[pharao50]]></dc:creator><pubDate>Sat, 02 Apr 2011 13:19:08 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sat, 02 Apr 2011 13:15:30 GMT]]></title><description><![CDATA[<p>Wie gesagt, das mußt du entweder selber schreiben oder suchen (im Standard C++ gibt es afaik keine XML-Verarbeitung). Für dich würde es eventuell schon reichen, der Loesung-Klasse eine Einlese-Funktion zu geben, die aus der Datei einen &lt;Losungen&gt;...&lt;/Losungen&gt; Block einliest und die einzelnen Unter-Elemente korrekt in die Member verteilt.</p>
<p>(PS: char ist wohl etwas zu klein für die Datei-Inhalte <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> Nimm da lieber std::string)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2043701</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043701</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 02 Apr 2011 13:15:30 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sat, 02 Apr 2011 13:25:42 GMT]]></title><description><![CDATA[<p>Also deutlich einfacher ist so etwas mit einer gescheiten XML-Bibliothek. Ich bevorzuge dabei RapidXml, weil es einfach schön schnell, Header-only (also leicht einzubinden), leicht zu verwenden und frei benutzbar ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2043716</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043716</guid><dc:creator><![CDATA[Irgendwer]]></dc:creator><pubDate>Sat, 02 Apr 2011 13:25:42 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sat, 02 Apr 2011 13:27:47 GMT]]></title><description><![CDATA[<p>Sorry für die dumme frage aber muss ich std::string als bibliothek includieren? oder kann ich da einfach string davor schereiben?</p>
<p>Das mit dem Blockweise einlesen is ne Klasse Idee. Wenn man wüsste wie.<br />
In einer Schleife? bis &lt;/Losungen&gt; erreich wurde ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2043720</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043720</guid><dc:creator><![CDATA[pharao50]]></dc:creator><pubDate>Sat, 02 Apr 2011 13:27:47 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sat, 02 Apr 2011 13:44:16 GMT]]></title><description><![CDATA[<p>für die String-Klasse brauchst du nur den richtigen Header - und der heißt &lt;string&gt; und ist Teil der C++-Standardbibliothek.<br />
(Edit: Wenn ich mir deine letzten Beispiele ansehe - den hast du sogar schon verwendet)</p>
<p>Irgendwer schrieb:</p>
<blockquote>
<p>Also deutlich einfacher ist so etwas mit einer gescheiten XML-Bibliothek.</p>
</blockquote>
<p>Dem kann ich nur zustimmen. Das von Hand zu machen, dürfte in reichlich Bastelarbeit enden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2043734</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043734</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 02 Apr 2011 13:44:16 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sat, 02 Apr 2011 14:15:45 GMT]]></title><description><![CDATA[<p>eingebunden habe ich diese jetzt erfolgreich.</p>
<p>aber mir ist immernoch nicht klar wie jetzt damit arbeiten kann.<br />
Wie kann ich jetzt damit nach dem Datum suchen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2043738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043738</guid><dc:creator><![CDATA[pharao50]]></dc:creator><pubDate>Sat, 02 Apr 2011 14:15:45 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sat, 02 Apr 2011 13:56:48 GMT]]></title><description><![CDATA[<p>Ein bisschen solltest du dich schon selbst informieren:<br />
<a href="http://rapidxml.sourceforge.net/manual.html" rel="nofollow">http://rapidxml.sourceforge.net/manual.html</a></p>
<p>Zitat:</p>
<pre><code>Entire parser is contained in a single header file, so no building or linking is neccesary. 
To use it you just need to copy rapidxml.hpp file to a convenient place (such as your project directory), and include it where needed. 
You may also want to use printing functions contained in header rapidxml_print.hpp.
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2043742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043742</guid><dc:creator><![CDATA[inter2k3]]></dc:creator><pubDate>Sat, 02 Apr 2011 13:56:48 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sat, 02 Apr 2011 14:48:51 GMT]]></title><description><![CDATA[<p>Ich würde ja mehr selber suchen aber (Möchte mich wirklich nicht ausreden!) ich habe noch so meine schwierigkeiten bei der Umsetzung. Ich kann mir meistens schon denken wie es geht nur umsetzen in c++ Anweisungen kann ich nie wirklich.</p>
<p>versteh im Moment wirklich überhaupt nicht wie ich die XML Datei einlesen und nach dem Datum suchen kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2043753</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043753</guid><dc:creator><![CDATA[pharao50]]></dc:creator><pubDate>Sat, 02 Apr 2011 14:48:51 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sat, 02 Apr 2011 15:04:54 GMT]]></title><description><![CDATA[<p>Erstmal muss du dir ein Objekt der Klasse <a href="http://rapidxml.sourceforge.net/manual.html#classrapidxml_1_1xml__document" rel="nofollow">rapdidxml::xml_document</a> erstellen, welches dann mit Hilfe der Methode <a href="http://rapidxml.sourceforge.net/manual.html#classrapidxml_1_1xml__document_8338ce6042e7b04d5a42144fb446b69c_18338ce6042e7b04d5a42144fb446b69c" rel="nofollow">parse()</a> einen DOM-Tree erstellt.<br />
Relativ praktisch sind auch die Iteratoren (nicht dokumentiert, aber der Quellcode ist sehr einfach zu verstehen) oder auch rapidxml::file.</p>
<p>Nach dem ersten Datums-Node könntest du dann folgendermaßen suchen:</p>
<pre><code class="language-cpp">namespace rx = rapidxml;
rx::file&lt;&gt; file(&quot;Dateipfad hier&quot;);
rx::xml_document&lt;&gt; doc;
doc.parse&lt;0&gt;(file.data());
rx::xml_node&lt;&gt;* node = doc.first_node(&quot;dataroot&quot;)-&gt;first_node(&quot;Losungen&quot;)-&gt;first_node(&quot;Datum&quot;);
const char* datum = node.value();
</code></pre>
<p>Könnte sein, dass ein Fehler drin ist, aber da musst du selbst ein bisschen herumprobieren. Wenn alles richtig ist, hättest du das Datum jetzt als <code>const char*</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2043757</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043757</guid><dc:creator><![CDATA[Irgendwer]]></dc:creator><pubDate>Sat, 02 Apr 2011 15:04:54 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sat, 02 Apr 2011 15:13:05 GMT]]></title><description><![CDATA[<p>brauche ich das hier dann nicht mehr?</p>
<pre><code class="language-cpp">bool Losung_XML::ladenLosung(string dateiname)
{
    ifstream in(dateiname.c_str());

    if(!in) return false;

      while(in.good())
      {
        string str;
        getline(in, str);
        //tue etwas mit str
        cout &lt;&lt; str &lt;&lt; endl;
      }

    return true;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2043761</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043761</guid><dc:creator><![CDATA[pharao50]]></dc:creator><pubDate>Sat, 02 Apr 2011 15:13:05 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sat, 02 Apr 2011 15:20:55 GMT]]></title><description><![CDATA[<p>Ja, du brauchst es nicht mehr.<br />
Aber bevor du einfach so meinen Code übernimmst, solltest du versuchen zu verstehen, was da vor sich geht. Ansonsten bringt das alles nichts...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2043763</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043763</guid><dc:creator><![CDATA[Irgendwer]]></dc:creator><pubDate>Sat, 02 Apr 2011 15:20:55 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sat, 02 Apr 2011 15:51:31 GMT]]></title><description><![CDATA[<p>Wenn man jetzt noch verstehen würde was hier</p>
<p>rapdidxml::xml_document erstellen, welches dann mit<br />
Hilfe der Methode parse() einen DOM-Tree erstellt.</p>
<p>mit gemeint ist...<br />
So etwa?</p>
<p>rapdidxml::xml_document<br />
void parse(Ch *text); //Meinst du das mit Objekt der Klasse<br />
//rapdidxml::xml_document?</p>
<p>Bin schon interessiert das ganze zu verstehen.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/27883">@Irgendwer</a>:</p>
<p>Hast du icq oder so ??</p>
<p>hier meine Daten könntest du mich bitte anschreiben:</p>
<p>icq: 234-452-563<br />
AIM: Pharao50<br />
E-Mail: <a href="mailto:Pharao56694@t-online.de" rel="nofollow">Pharao56694@t-online.de</a></p>
<p>wäre echt klasse von dir.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2043767</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043767</guid><dc:creator><![CDATA[pharao50]]></dc:creator><pubDate>Sat, 02 Apr 2011 15:51:31 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sat, 02 Apr 2011 17:58:48 GMT]]></title><description><![CDATA[<p>pharao50 schrieb:</p>
<blockquote>
<p>mit gemeint ist...<br />
So etwa?</p>
<p>rapdidxml::xml_document<br />
void parse(Ch *text); //Meinst du das mit Objekt der Klasse<br />
//rapdidxml::xml_document?</p>
</blockquote>
<p>Nein. Hast du schon gelernt, wie man Objekte anlegt und wie man deren Methoden aufruft?</p>
<p>ohne Gewähr (ich hab mir die Doku nicht durchgelesen, aber vermutlich mußt du noch irgendwo den Dateinamen übergeben):</p>
<pre><code class="language-cpp">rapidxml::xml_document xmlfile;//Objekt anlegen
xmlfile.parse(dateiinhalt);//und auf den Inhalt deiner XML-Datei loslassen
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2043821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043821</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 02 Apr 2011 17:58:48 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sat, 02 Apr 2011 18:40:12 GMT]]></title><description><![CDATA[<p>Nein Objekte verwenden hatten wir glaub ich noch nicht.</p>
<p>Wenn ich das so:</p>
<pre><code class="language-cpp">rapidxml::xml_document xmlfile;//Objekt anlegen
xmlfile.parse(dateiinhalt);
</code></pre>
<p>mache bekomme ich diese Meldung:</p>
<p>Template 'rapidxml::xml_document&lt;Ch&gt;' kann ohne Spezifizierungsparameter nicht verwendet werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2043841</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043841</guid><dc:creator><![CDATA[pharao50]]></dc:creator><pubDate>Sat, 02 Apr 2011 18:40:12 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sat, 02 Apr 2011 18:45:36 GMT]]></title><description><![CDATA[<p>pharao50 schrieb:</p>
<blockquote>
<p>Nein Objekte verwenden hatten wir glaub ich noch nicht.</p>
</blockquote>
<p>Dann hast du sie bisher nur unbewußt verwendet - siehe bei deinen Streams <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<blockquote>
<p>Wenn ich das so:</p>
<pre><code class="language-cpp">rapidxml::xml_document xmlfile;//Objekt anlegen
xmlfile.parse(dateiinhalt);
</code></pre>
<p>mache bekomme ich diese Meldung:</p>
<p>Template 'rapidxml::xml_document&lt;Ch&gt;' kann ohne Spezifizierungsparameter nicht verwendet werden.</p>
</blockquote>
<p>Da habe ich wohl nicht genau hingesehen - xml_document ist ja ein Template, da mußt du &quot;rapidxml::xml_document&lt;char&gt; xmlfile;&quot; schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2043845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043845</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 02 Apr 2011 18:45:36 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sat, 02 Apr 2011 20:15:10 GMT]]></title><description><![CDATA[<p>jetzt kommt in dieser Zeile:</p>
<pre><code class="language-cpp">xmlfile.parse(dateiinhalt);
</code></pre>
<p>Bezeichner xmlfile merhfach deklariert.<br />
Was ist hier falsch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2043847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043847</guid><dc:creator><![CDATA[pharao50]]></dc:creator><pubDate>Sat, 02 Apr 2011 20:15:10 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sun, 03 Apr 2011 06:56:58 GMT]]></title><description><![CDATA[<p>In dem kurzen Ausschnitt ist er auf jeden Fall nur einmal definiert. Hast du eventuell noch eine andere Variable mit dem selben Namen in deinem Programm?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2043973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043973</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sun, 03 Apr 2011 06:56:58 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sun, 03 Apr 2011 07:14:22 GMT]]></title><description><![CDATA[<p>Ich bin mir nicht so ganz sicher, ob du dich nicht für den Anfang übernimmst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":/"
      alt="😕"
    /><br />
Und rapidxml ist zwar schön aber nicht sooo leicht. Du musst z.B. die Datei selber in einen Buffer (z.B. std::vector&lt;char&gt;)einlesen, dafür sorgen, dass dieser Buffer genauso lange lebt wie das xml_document. Und auch das Manipulieren des DOM-Tree ist nicht so leicht (Stichwort memory_pool).</p>
<p>Nicht so flexibel und minimal langsamer aber deutlich leichter zu verstehen ist da pugixml.<br />
<a href="http://pugixml.googlecode.com/svn/tags/latest/docs/quickstart.html" rel="nofollow">http://pugixml.googlecode.com/svn/tags/latest/docs/quickstart.html</a><br />
Da hast du auch ein Beispiel, wie du ein xml einliest, weiter unten wie du über die Dom-Nodes iterierst.</p>
<p>Aber vielleicht solltest du noch mal ne kurze C++-Grundlagensession einlegen. Wenn du nicht weißt was ein Objekt ist, fehlt dir einiges (oder dein Buch/Tutorial hat es nicht wirklich ordentlich vermittelt).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2043977</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043977</guid><dc:creator><![CDATA[Sensai_]]></dc:creator><pubDate>Sun, 03 Apr 2011 07:14:22 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sun, 03 Apr 2011 07:49:07 GMT]]></title><description><![CDATA[<p>Hättest du kurz Zeit mal mit mir zu chatten ? hast du icq oder so?</p>
<p>Hier mal mein komplettes Projekt:</p>
<p>Unit1.cpp</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;fstream&gt;
using namespace std;
#include&quot;Unit2.h&quot;
#include &quot;rapidxml.hpp&quot;
#include &quot;rapidxml_utils.hpp&quot;
#include &quot;rapidxml_print.hpp&quot;
#include &quot;rapidxml_iterators.hpp&quot;

int main(int argc, char* argv[])
{
       Losung x;      //struct
       Losung_XML y;  //class

       cout&lt;&lt;&quot;Datum&quot;&lt;&lt;x.Datum&lt;&lt;endl;
       cout&lt;&lt;&quot;Losungstext&quot;&lt;&lt;x.Losungstext&lt;&lt;endl;
       cout&lt;&lt;&quot;Losungsvers&quot;&lt;&lt;x.Losungsvers&lt;&lt;endl;
       cout&lt;&lt;&quot;Lehrtextvers&quot;&lt;&lt;x.Lehrtextvers&lt;&lt;endl;

       ifstream los;
  los.open(&quot;Losungen.xml&quot;,ios::in);

    while(!los.eof())
    {
     string a;
     getline(los,a);
     cout&lt;&lt;a&lt;&lt;endl;
    }

        getchar();
        return 0;
}
</code></pre>
<p>Unit2.cpp</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;fstream&gt;
#include&lt;string&gt;
using namespace std;
#include &quot;Unit2.h&quot;                                                              
#include &quot;rapidxml.hpp&quot;
#include &quot;rapidxml_utils.hpp&quot;
#include &quot;rapidxml_print.hpp&quot;
#include &quot;rapidxml_iterators.hpp&quot;

Losung Losung_XML::zeigenSpruch(char Datum)
{
 return feld[Datum];
}

rapidxml::xml_document&lt;char&gt; xmlfile;//Objekt anlegen
xmlfile. parse(dateiinhalt);

namespace rx = rapidxml;
rx::file&lt;&gt; file(&quot;C:\Users\s08_e1fs\Desktop\Projekt_3_XMLauslesen\Losungen.xml&quot;);
rx::xml_document&lt;&gt; doc;
doc.parse&lt;0&gt;(file.data());
rx::xml_node&lt;&gt;* node = doc.first_node(&quot;dataroot&quot;)-&gt;first_node(&quot;Losungen&quot;)-&gt;first_node(&quot;Datum&quot;);
const char* datum = node.value();
</code></pre>
<p>Unit2.h</p>
<pre><code class="language-cpp">#include&lt;iostream&gt;
#include&lt;string&gt;
using namespace std;
#include &quot;rapidxml.hpp&quot;
#include &quot;rapidxml_utils.hpp&quot;
#include &quot;rapidxml_print.hpp&quot;
#include &quot;rapidxml_iterators.hpp&quot;

        struct Losung
   {
    string Datum, Wtag, Sonntag, Losungstext, Losungsvers, Lehrtext, Lehrtextvers;
   };

        class Losung_XML
{

private:
          Losung feld[366];
          int AnzahlLosungen;

public:

        Losung zeigenSpruch(char Datum);
        bool ladenLosung(string dateiname);
        Losung1();

};
</code></pre>
<p>Ist aber wichtig sollte ich bis MOrgen haben :-((</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2043983</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043983</guid><dc:creator><![CDATA[pharao50]]></dc:creator><pubDate>Sun, 03 Apr 2011 07:49:07 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sun, 03 Apr 2011 07:48:56 GMT]]></title><description><![CDATA[<p>pharao50 schrieb:</p>
<blockquote>
<pre><code class="language-cpp">...rapidxml::xml_document&lt;char&gt; xmlfile;//Objekt anlegen
xmlfile. parse(dateiinhalt);

namespace rx = rapidxml;
rx::file&lt;&gt; file(&quot;C:\Users\s08_e1fs\Desktop\Projekt_3_XMLauslesen\Losungen.xml&quot;);
rx::xml_document&lt;&gt; doc;
doc.parse&lt;0&gt;(file.data());
rx::xml_node&lt;&gt;* node = doc.first_node(&quot;dataroot&quot;)-&gt;first_node(&quot;Losungen&quot;)-&gt;first_node(&quot;Datum&quot;);
const char* datum = node.value();
</code></pre>
</blockquote>
<p>Steht das wirklich frei in der Quelldatei? So etwas gehört natürlich in eine Funktion, die du am Anfang des Programms aufrufen kannst.</p>
<p>Zweitens brauchst du hier die ersten beiden Zeilen nicht, da du darunter nochmal eine komplettere Lösung hast.</p>
<p>Und drittens: Du willst ja im Endeffekt alle &lt;Losungen&gt;-Blöcke einlesen, also benötigst du auch eine Schleife, die sie in deine Liste überträgt.</p>
<p>PS: Und um schnell nach der Losung eines bestimmten Datums suchen zu können, ist eine map&lt;string,Losung&gt; besser geeignet als ein Array.</p>
<p>PPS: Den Unterschied zwischen &quot;char&quot; (ein einzelne Zeichen) und &quot;string&quot; (eine Zeichenkette) solltest du dir auch nochmal ansehen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2043986</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043986</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sun, 03 Apr 2011 07:48:56 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sun, 03 Apr 2011 08:17:19 GMT]]></title><description><![CDATA[<p>eine while Schleife? Wie sage ich dieser, dass das Ende erreicht ist?<br />
Im ifstream geht das ja so:</p>
<p>While(!dat.eof)<br />
{<br />
//Anweisungen...<br />
}</p>
<p>Aber wie gehe ich vor wenn ich kein ifstream verwende?</p>
<p>Was ist das?:</p>
<p>map&lt;string,Losung&gt; besser geeignet als ein Array.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2043993</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2043993</guid><dc:creator><![CDATA[pharao50]]></dc:creator><pubDate>Sun, 03 Apr 2011 08:17:19 GMT</pubDate></item><item><title><![CDATA[Reply to Tag aus XML Datei auslesen on Sun, 03 Apr 2011 08:40:56 GMT]]></title><description><![CDATA[<p>ich darf dir mal folgende Seite ans Herz legen:</p>
<p>Für map:<br />
<a href="http://www.cplusplus.com/reference/stl/" rel="nofollow">http://www.cplusplus.com/reference/stl/</a></p>
<p>Für while:<br />
<a href="http://www.cplusplus.com/doc/tutorial/control/" rel="nofollow">http://www.cplusplus.com/doc/tutorial/control/</a></p>
<p>Für alle anderen Fragen als erste Anlaufstelle (evtl auch gezielter über google und dann ein ergebnis wählen was auf die BasisURL weist:)<br />
<a href="http://www.cplusplus.com/reference/" rel="nofollow">http://www.cplusplus.com/reference/</a></p>
<p>Und dann gibts noch eine nette Literaturliste in der FAQ glaub ich ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2044000</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2044000</guid><dc:creator><![CDATA[padreigh]]></dc:creator><pubDate>Sun, 03 Apr 2011 08:40:56 GMT</pubDate></item></channel></rss>