<?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[TinyXml und C++]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe folgendes problem.<br />
Das ist mein Klassen definition.</p>
<pre><code class="language-cpp">#ifndef CMAP_H
#define CMAP_H

#include &lt;tinyxml.h&gt;

#include &quot;CDialog.h&quot;
#include &quot;CSprite.h&quot;
#include &lt;iostream&gt;

class CMap
{
    public:
        CMap();
        void LoadMap(std::string tmp);
        void RenderMap();
        virtual ~CMap();
    protected:
    private:
        TiXmlElement* child;
        std::string name;
        CSprite *p_Sprite[];
        TiXmlElement* state_x;
        TiXmlElement* state_y;
        TiXmlElement* state_name;
int x,y;
};
</code></pre>
<p>Das ist mein C++ Datei.</p>
<pre><code class="language-cpp">#include &quot;../include/CMap.h&quot;

CMap::CMap()
{
    child = NULL;
}
void CMap::LoadMap(std::string tmp)
{
    TiXmlDocument doc(tmp);

    if(doc.LoadFile() != true)
        {
            CDialog::DrawErrorMessage(&quot;Could not load map&quot;);
        }
    TiXmlHandle docHandle(&amp;doc);

    child = docHandle.FirstChild( &quot;Scene&quot; ).FirstChild( &quot;Sprite&quot; ).ToElement();
}

void CMap::RenderMap()
{
    for( child; child; child=child-&gt;NextSiblingElement() )
        {
                state_x = child-&gt;FirstChild(&quot;x&quot;)-&gt;ToElement();

                x = atoi(state_x-&gt;GetText());

                state_y = child-&gt;FirstChild(&quot;y&quot;)-&gt;ToElement();

                y = atoi(state_y-&gt;GetText());

                state_name = child-&gt;FirstChild(&quot;image&quot;)-&gt;ToElement();
         }
}
CMap::~CMap()
{
    //dtor
}
</code></pre>
<p>Dies ist meine XML datei die ich versuche auszulesen.</p>
<pre><code class="language-cpp">&lt;Scene&gt;
	&lt;Sprite&gt;
		&lt;x&gt;162&lt;/x&gt;
		&lt;y&gt;157&lt;/y&gt;
		&lt;image&gt;test0.png&lt;/image&gt;
	&lt;/Sprite&gt;
	&lt;Sprite&gt;
		&lt;x&gt;370&lt;/x&gt;
		&lt;y&gt;321&lt;/y&gt;
		&lt;image&gt;test1.png&lt;/image&gt;
	&lt;/Sprite&gt;
	&lt;Sprite&gt;
		&lt;x&gt;646&lt;/x&gt;
		&lt;y&gt;144&lt;/y&gt;
		&lt;image&gt;test2.png&lt;/image&gt;
	&lt;/Sprite&gt;
&lt;/Scene&gt;
</code></pre>
<p>Leider funktioniert das so nicht, es geht nur wenn ich den Teil aus RenderMap()<br />
mit in LoadMap(string) rein packe.<br />
Für mich sieht es so aus als hätte er mit child ein problem.<br />
Kann mir eventuel jemand sagen was ich falsch mache?</p>
<p>Gruß der Anfänger</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/301845/tinyxml-und-c</link><generator>RSS for Node</generator><lastBuildDate>Tue, 11 Aug 2026 17:24:12 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/301845.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 04 Apr 2012 19:47:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to TinyXml und C++ on Wed, 04 Apr 2012 19:47:47 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich habe folgendes problem.<br />
Das ist mein Klassen definition.</p>
<pre><code class="language-cpp">#ifndef CMAP_H
#define CMAP_H

#include &lt;tinyxml.h&gt;

#include &quot;CDialog.h&quot;
#include &quot;CSprite.h&quot;
#include &lt;iostream&gt;

class CMap
{
    public:
        CMap();
        void LoadMap(std::string tmp);
        void RenderMap();
        virtual ~CMap();
    protected:
    private:
        TiXmlElement* child;
        std::string name;
        CSprite *p_Sprite[];
        TiXmlElement* state_x;
        TiXmlElement* state_y;
        TiXmlElement* state_name;
int x,y;
};
</code></pre>
<p>Das ist mein C++ Datei.</p>
<pre><code class="language-cpp">#include &quot;../include/CMap.h&quot;

CMap::CMap()
{
    child = NULL;
}
void CMap::LoadMap(std::string tmp)
{
    TiXmlDocument doc(tmp);

    if(doc.LoadFile() != true)
        {
            CDialog::DrawErrorMessage(&quot;Could not load map&quot;);
        }
    TiXmlHandle docHandle(&amp;doc);

    child = docHandle.FirstChild( &quot;Scene&quot; ).FirstChild( &quot;Sprite&quot; ).ToElement();
}

void CMap::RenderMap()
{
    for( child; child; child=child-&gt;NextSiblingElement() )
        {
                state_x = child-&gt;FirstChild(&quot;x&quot;)-&gt;ToElement();

                x = atoi(state_x-&gt;GetText());

                state_y = child-&gt;FirstChild(&quot;y&quot;)-&gt;ToElement();

                y = atoi(state_y-&gt;GetText());

                state_name = child-&gt;FirstChild(&quot;image&quot;)-&gt;ToElement();
         }
}
CMap::~CMap()
{
    //dtor
}
</code></pre>
<p>Dies ist meine XML datei die ich versuche auszulesen.</p>
<pre><code class="language-cpp">&lt;Scene&gt;
	&lt;Sprite&gt;
		&lt;x&gt;162&lt;/x&gt;
		&lt;y&gt;157&lt;/y&gt;
		&lt;image&gt;test0.png&lt;/image&gt;
	&lt;/Sprite&gt;
	&lt;Sprite&gt;
		&lt;x&gt;370&lt;/x&gt;
		&lt;y&gt;321&lt;/y&gt;
		&lt;image&gt;test1.png&lt;/image&gt;
	&lt;/Sprite&gt;
	&lt;Sprite&gt;
		&lt;x&gt;646&lt;/x&gt;
		&lt;y&gt;144&lt;/y&gt;
		&lt;image&gt;test2.png&lt;/image&gt;
	&lt;/Sprite&gt;
&lt;/Scene&gt;
</code></pre>
<p>Leider funktioniert das so nicht, es geht nur wenn ich den Teil aus RenderMap()<br />
mit in LoadMap(string) rein packe.<br />
Für mich sieht es so aus als hätte er mit child ein problem.<br />
Kann mir eventuel jemand sagen was ich falsch mache?</p>
<p>Gruß der Anfänger</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2198835</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2198835</guid><dc:creator><![CDATA[CPLUSPLUSAnfänger]]></dc:creator><pubDate>Wed, 04 Apr 2012 19:47:47 GMT</pubDate></item><item><title><![CDATA[Reply to TinyXml und C++ on Thu, 05 Apr 2012 08:35:54 GMT]]></title><description><![CDATA[<p>Wie rufst du denn die Funktionen auf? Und was genau funktioniert nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2198930</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2198930</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Thu, 05 Apr 2012 08:35:54 GMT</pubDate></item><item><title><![CDATA[Reply to TinyXml und C++ on Thu, 05 Apr 2012 12:09:02 GMT]]></title><description><![CDATA[<p>Dein doc überlebt LoadMap nicht (wird am Ende zerstört). Das löscht alle Nodes, somit ist die interne Repräsentation des XML dahin. Zugriff auf trotzdem gespeicherte Node -&gt; BUMM!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2199012</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2199012</guid><dc:creator><![CDATA[arghonaut]]></dc:creator><pubDate>Thu, 05 Apr 2012 12:09:02 GMT</pubDate></item></channel></rss>