<?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[Segfault in Xercesparser beim laden einer Zeichenkette]]></title><description><![CDATA[<p>Wollte erstmal alle Begrüßen, denn das ist meine erster Thread in diesem Forum. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Zu meinem Problem:</p>
<p>Ich versuche eine Zeichenkette:<br />
z.b.:</p>
<pre><code class="language-cpp">char* p = &quot;&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;ISO-8859-1\&quot;?&gt;&lt;FUNCTION NAME=\&quot;GET_MEASURESTATUS\&quot; ID=\&quot;1149758883\&quot; KENNUNG=\&quot;dd1\&quot; PWD=\&quot;dd1\&quot;/&gt;&quot;;
</code></pre>
<p>über die auch in diesem Forum oft besprochene Methode:</p>
<pre><code class="language-cpp">XercesDOMParser* parser = new XercesDOMParser();
static const char* MemBufId = &quot;MemoryBufInputSource&quot;;
std::auto_ptr&lt;MemBufInputSource&gt; memBufIs(new MemBufInputSource(( const XMLByte* )p, strlen( p ), MemBufId, false));
parser-&gt;parse(*memBufIs);
</code></pre>
<p>in einen DOMTree zu laden.<br />
Das ganze kompiliert auch vollständig, nur leider bekomme ich immer einen<br />
Segmentationfault wenn ich die Zeichenkette von meinem parser parsen lassen<br />
will.</p>
<p>hier nochmal der komplette code:</p>
<pre><code class="language-cpp">#include &lt;xercesc/framework/MemBufInputSource.hpp&gt;
#include &lt;xercesc/framework/Wrapper4InputSource.hpp&gt;
#include &lt;xercesc/util/PlatformUtils.hpp&gt;
//#include &lt;xercesc/parsers/AbstractDOMParser.hpp&gt;
#include &lt;xercesc/parsers/XercesDOMParser.hpp&gt;
#include &lt;xercesc/dom/DOMImplementation.hpp&gt;
#include &lt;xercesc/dom/DOMImplementationLS.hpp&gt;
#include &lt;xercesc/dom/DOMImplementationRegistry.hpp&gt;
#include &lt;xercesc/dom/DOMBuilder.hpp&gt;
#include &lt;xercesc/dom/DOMException.hpp&gt;
#include &lt;xercesc/dom/DOMDocument.hpp&gt;
#include &lt;xercesc/dom/DOMNodeList.hpp&gt;
#include &lt;xercesc/dom/DOMError.hpp&gt;
#include &lt;xercesc/dom/DOMLocator.hpp&gt;
#include &lt;xercesc/dom/DOMNamedNodeMap.hpp&gt;
#include &lt;xercesc/dom/DOMAttr.hpp&gt;

//... hier kommen jetzt noch ne menge Klassen usw. ...

void Viewer::verarbeiteDatei(){
try{
    XMLPlatformUtils::Initialize();
} catch( XMLException&amp; e ){
    std::cout &lt;&lt; &quot;Error while initializing xercesplatform&quot; &lt;&lt; std::endl;
}
    DOMDocument* xmlDoc = 0;
try{
    char* p = &quot;&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;ISO-8859-1\&quot;?&gt;&lt;FUNCTION NAME=\&quot;GET_MEASURESTATUS\&quot; ID=\&quot;1149758883\&quot; KENNUNG=\&quot;dd1\&quot; PWD=\&quot;dd1\&quot;/&gt;&quot;;
    XercesDOMParser* parser = new XercesDOMParser();
    static const char* MemBufId = &quot;MemoryBufInputSource&quot;;
    std::auto_ptr&lt;MemBufInputSource&gt; memBufIs(new MemBufInputSource(( const XMLByte* )p, strlen( p ), MemBufId, false));
    parser-&gt;parse(*memBufIs); // an dieser Stelle entsteht der Segfault...
} catch(const XMLException&amp;){
    XERCES_STD_QUALIFIER cerr &lt;&lt; &quot;\nError during parsing memory config\n&quot;
             		&lt;&lt; &quot;Exception message is:  \n&quot;&lt;&lt; XERCES_STD_QUALIFIER endl;
} catch (...) {
    XERCES_STD_QUALIFIER cerr &lt;&lt; &quot;\nUnexpected exception during parsing memory\n&quot;;
}

//... Sachen die ich mit dem DOMTree machen möchte ...

try{
    XMLPlatformUtils::Terminate();
}catch( XMLException&amp; e ){
    std::cout &lt;&lt; &quot;Error while terminating xercesplatform&quot; &lt;&lt; std::endl;
}
</code></pre>
<p>Danke schonmal für jede Hilfe, ich sitz jetzt schon eine ganze Weile vor diesem<br />
Problem und komm nicht wirklich weiter. Bin also für den kleinsten Hinweis sehr dankbar. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>gambi</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/161803/segfault-in-xercesparser-beim-laden-einer-zeichenkette</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Jul 2026 11:43:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/161803.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 11 Oct 2006 09:28:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Segfault in Xercesparser beim laden einer Zeichenkette on Wed, 11 Oct 2006 09:28:09 GMT]]></title><description><![CDATA[<p>Wollte erstmal alle Begrüßen, denn das ist meine erster Thread in diesem Forum. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Zu meinem Problem:</p>
<p>Ich versuche eine Zeichenkette:<br />
z.b.:</p>
<pre><code class="language-cpp">char* p = &quot;&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;ISO-8859-1\&quot;?&gt;&lt;FUNCTION NAME=\&quot;GET_MEASURESTATUS\&quot; ID=\&quot;1149758883\&quot; KENNUNG=\&quot;dd1\&quot; PWD=\&quot;dd1\&quot;/&gt;&quot;;
</code></pre>
<p>über die auch in diesem Forum oft besprochene Methode:</p>
<pre><code class="language-cpp">XercesDOMParser* parser = new XercesDOMParser();
static const char* MemBufId = &quot;MemoryBufInputSource&quot;;
std::auto_ptr&lt;MemBufInputSource&gt; memBufIs(new MemBufInputSource(( const XMLByte* )p, strlen( p ), MemBufId, false));
parser-&gt;parse(*memBufIs);
</code></pre>
<p>in einen DOMTree zu laden.<br />
Das ganze kompiliert auch vollständig, nur leider bekomme ich immer einen<br />
Segmentationfault wenn ich die Zeichenkette von meinem parser parsen lassen<br />
will.</p>
<p>hier nochmal der komplette code:</p>
<pre><code class="language-cpp">#include &lt;xercesc/framework/MemBufInputSource.hpp&gt;
#include &lt;xercesc/framework/Wrapper4InputSource.hpp&gt;
#include &lt;xercesc/util/PlatformUtils.hpp&gt;
//#include &lt;xercesc/parsers/AbstractDOMParser.hpp&gt;
#include &lt;xercesc/parsers/XercesDOMParser.hpp&gt;
#include &lt;xercesc/dom/DOMImplementation.hpp&gt;
#include &lt;xercesc/dom/DOMImplementationLS.hpp&gt;
#include &lt;xercesc/dom/DOMImplementationRegistry.hpp&gt;
#include &lt;xercesc/dom/DOMBuilder.hpp&gt;
#include &lt;xercesc/dom/DOMException.hpp&gt;
#include &lt;xercesc/dom/DOMDocument.hpp&gt;
#include &lt;xercesc/dom/DOMNodeList.hpp&gt;
#include &lt;xercesc/dom/DOMError.hpp&gt;
#include &lt;xercesc/dom/DOMLocator.hpp&gt;
#include &lt;xercesc/dom/DOMNamedNodeMap.hpp&gt;
#include &lt;xercesc/dom/DOMAttr.hpp&gt;

//... hier kommen jetzt noch ne menge Klassen usw. ...

void Viewer::verarbeiteDatei(){
try{
    XMLPlatformUtils::Initialize();
} catch( XMLException&amp; e ){
    std::cout &lt;&lt; &quot;Error while initializing xercesplatform&quot; &lt;&lt; std::endl;
}
    DOMDocument* xmlDoc = 0;
try{
    char* p = &quot;&lt;?xml version=\&quot;1.0\&quot; encoding=\&quot;ISO-8859-1\&quot;?&gt;&lt;FUNCTION NAME=\&quot;GET_MEASURESTATUS\&quot; ID=\&quot;1149758883\&quot; KENNUNG=\&quot;dd1\&quot; PWD=\&quot;dd1\&quot;/&gt;&quot;;
    XercesDOMParser* parser = new XercesDOMParser();
    static const char* MemBufId = &quot;MemoryBufInputSource&quot;;
    std::auto_ptr&lt;MemBufInputSource&gt; memBufIs(new MemBufInputSource(( const XMLByte* )p, strlen( p ), MemBufId, false));
    parser-&gt;parse(*memBufIs); // an dieser Stelle entsteht der Segfault...
} catch(const XMLException&amp;){
    XERCES_STD_QUALIFIER cerr &lt;&lt; &quot;\nError during parsing memory config\n&quot;
             		&lt;&lt; &quot;Exception message is:  \n&quot;&lt;&lt; XERCES_STD_QUALIFIER endl;
} catch (...) {
    XERCES_STD_QUALIFIER cerr &lt;&lt; &quot;\nUnexpected exception during parsing memory\n&quot;;
}

//... Sachen die ich mit dem DOMTree machen möchte ...

try{
    XMLPlatformUtils::Terminate();
}catch( XMLException&amp; e ){
    std::cout &lt;&lt; &quot;Error while terminating xercesplatform&quot; &lt;&lt; std::endl;
}
</code></pre>
<p>Danke schonmal für jede Hilfe, ich sitz jetzt schon eine ganze Weile vor diesem<br />
Problem und komm nicht wirklich weiter. Bin also für den kleinsten Hinweis sehr dankbar. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>gambi</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1152755</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1152755</guid><dc:creator><![CDATA[gambi]]></dc:creator><pubDate>Wed, 11 Oct 2006 09:28:09 GMT</pubDate></item><item><title><![CDATA[Reply to Segfault in Xercesparser beim laden einer Zeichenkette on Wed, 11 Oct 2006 09:50:10 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=403" rel="nofollow">HumeSikkins</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=15" rel="nofollow">C++</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=8" 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.php?t=39405" 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/1152772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1152772</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Wed, 11 Oct 2006 09:50:10 GMT</pubDate></item></channel></rss>