<?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[Arbeiten mit Xerces C]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>bisher habe ich TinyXML verwendet und fand das auch alles recht simpel.<br />
Jetzt möchte ich allerdings wegen der Validation gegen eine Schema XML<br />
auf Xerces C umsteigen.<br />
Was ich allerdings nicht so prickelnd finde ist der eigene Typ<br />
XMLCh*. Wie macht ihr das? Castet ihr zwischen dem Typen und char* hin und her<br />
oder verwendet ihr XMLString::transcode.</p>
<p>Ich habe mir jetzt HelferMethoden geschrieben.<br />
Sieht zwar etwas umstndlich aus, aber scheint mir der beste Weg.</p>
<p>z.B.:</p>
<pre><code class="language-cpp">std::auto_ptr&lt;std::string&gt; XercesUtil::getAttribute(xercesc::DOMNode *node, const std::string&amp; name){
	xercesc::DOMNamedNodeMap *map = node-&gt;getAttributes();
	if(map == 0)
		return std::auto_ptr&lt;std::string&gt;();
	XMLCh * xname = xercesc::XMLString::transcode(name.c_str());
	xercesc::DOMNode *nd = map-&gt;getNamedItem(xname);
	xercesc::XMLString::release(&amp;xname);
	const XMLCh *xvalue = nd-&gt;getNodeValue();
	char *cvalue = xercesc::XMLString::transcode(xvalue);
	std::string *value = new std::string(cvalue);
	xercesc::XMLString::release(&amp;cvalue);
	return std::auto_ptr&lt;std::string&gt;(value);
}
</code></pre>
<p>EDIT:<br />
Außerdem gilt für XMLString: Users of this class must understand that this is not an officially supported class.</p>
<p>Gruß,<br />
*Cpp-Anfänger*</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/195116/arbeiten-mit-xerces-c</link><generator>RSS for Node</generator><lastBuildDate>Tue, 30 Jun 2026 05:49:54 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/195116.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 14 Oct 2007 13:42:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Arbeiten mit Xerces C on Sun, 14 Oct 2007 13:59:25 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>bisher habe ich TinyXML verwendet und fand das auch alles recht simpel.<br />
Jetzt möchte ich allerdings wegen der Validation gegen eine Schema XML<br />
auf Xerces C umsteigen.<br />
Was ich allerdings nicht so prickelnd finde ist der eigene Typ<br />
XMLCh*. Wie macht ihr das? Castet ihr zwischen dem Typen und char* hin und her<br />
oder verwendet ihr XMLString::transcode.</p>
<p>Ich habe mir jetzt HelferMethoden geschrieben.<br />
Sieht zwar etwas umstndlich aus, aber scheint mir der beste Weg.</p>
<p>z.B.:</p>
<pre><code class="language-cpp">std::auto_ptr&lt;std::string&gt; XercesUtil::getAttribute(xercesc::DOMNode *node, const std::string&amp; name){
	xercesc::DOMNamedNodeMap *map = node-&gt;getAttributes();
	if(map == 0)
		return std::auto_ptr&lt;std::string&gt;();
	XMLCh * xname = xercesc::XMLString::transcode(name.c_str());
	xercesc::DOMNode *nd = map-&gt;getNamedItem(xname);
	xercesc::XMLString::release(&amp;xname);
	const XMLCh *xvalue = nd-&gt;getNodeValue();
	char *cvalue = xercesc::XMLString::transcode(xvalue);
	std::string *value = new std::string(cvalue);
	xercesc::XMLString::release(&amp;cvalue);
	return std::auto_ptr&lt;std::string&gt;(value);
}
</code></pre>
<p>EDIT:<br />
Außerdem gilt für XMLString: Users of this class must understand that this is not an officially supported class.</p>
<p>Gruß,<br />
*Cpp-Anfänger*</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1384903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1384903</guid><dc:creator><![CDATA[*Cpp-Anfänger* 0]]></dc:creator><pubDate>Sun, 14 Oct 2007 13:59:25 GMT</pubDate></item><item><title><![CDATA[Reply to Arbeiten mit Xerces C on Sun, 14 Oct 2007 16:30:39 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-403.html" rel="nofollow">HumeSikkins</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-8.html" rel="nofollow">Rund um die Programmierung</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1385014</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1385014</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Sun, 14 Oct 2007 16:30:39 GMT</pubDate></item></channel></rss>