You've shown us nothing that would cause a segfault, and you've not even given us a stack trace of where the segfault occurs. Help us to help you...

John

On 21/01/11 01:19, Steele, Raymond wrote:
I'm still struggling with this segmentation fault. Can anyone shed some light? 
Thanks!

Raymond


-----Original Message-----
From: Steele, Raymond
Sent: Wednesday, January 19, 2011 8:59 AM
To: '[email protected]'
Subject: RE: EXTERNAL: Re: DOMNode::getTextContent()

Thanks, I was able to get it to work with:

char* nodename = XMLString::transcode(list->getNodeName());
char* text = XMLString::transcode(list->getFirstChild()->getTextContent());
cout<<  nodename<<  ": "<<  text<<  endl;;
XMLString::release(&nodename);
XMLString::release(&text);

Everything displays to STDOUT, however, I am getting a segmentation fault at 
the end of the output. I am not sure why, does anything stand out?

Raymond


-----Original Message-----
From: Alberto Massari [mailto:[email protected]]
Sent: Friday, January 14, 2011 11:16 AM
To: [email protected]
Subject: Re: EXTERNAL: Re: DOMNode::getTextContent()

getTextContent() returns an XMLCh*, that "cout::operator<<" doesn't
handle. You need to transcode it into const char*

Alberto

On 1/14/2011 6:58 PM, Steele, Raymond wrote:
Thanks for responding, and sorry about that. That was a typo. I forgot to add 
the parenthesis in the email. Even with the parenthesis, I am not getting what 
I expect from the getTextContent().

   version xerces-C++ 3.1.0
   Taking the following code:

   DOMDocument* doc = parserName->getDocument();
   DOMNodeList* list = doc->getElementByTageName(X("S_RPS"));
   DOMNode* node = list->item(0)->getFirstChild();
   cout<<   node->getNodeType()<<   endl;
   cout<<   node->getTextContent()<<   endl;

   The output:
   3
   92dc648



Raymond


-----Original Message-----
From: PB [mailto:[email protected]]
Sent: Thursday, January 13, 2011 4:17 PM
To: [email protected]
Subject: EXTERNAL: Re: DOMNode::getTextContent()

On Thu, Jan 13, 2011 at 11:13 PM, Steele, Raymond
<[email protected]>   wrote:
Can someone help me out with this?

version xerces-C++ 3.1.0
Taking the following code:

DOMDocument* doc = parserName->getDocument();
DOMNodeList* list = doc->getElementByTageName(X("S_RPS"));
DOMNode* node = list->item(0)->getFirstChild();
cout<<   node->getNodeType()<<   endl;
cout<<   node->getTextContent<<   endl;

The output:
3
92dc648

Question: If node is of type '3' (TEXT_NODE), how come I keep receiving what 
looks like a memory address. I cannot seem to get the correct information from 
the document.
You're not calling the getTextContent method. Put parathenses: getTextContent().

Regards,

Pete


Reply via email to