Hi Renato,
the character() callback can be invoked several times to build the string found inside an element node; this can happen if the string started at the end of the current buffer of text loaded from the file, or (like in this case) because an entity reference has been found and potentially this could require loading an included file. You will see the ' character in the next call, followed by a third call to report "S ELETRO". It's the SAX handler's task to join these three calls into a single line of text.

Hope this helps,
Alberto

Il 10/10/2012 23:07, Renato Tegon Forti ha scritto:
Hi All,

I have one doubt (or better, a problem!)

I heve one xml, like this:

// .

<xNome>A&amp;S ELETRO</xNome>

//..

Then I run a sax parser. I have

class sax_handlers

    : public HandlerBase

    , private XMLFormatTarget

{

void characters(const XMLCh* const chars,   const XMLSize_t length)

{

    char* name_char = XMLString::transcode( chars );

    std::string name = name_char;

    XMLString::release(&name_char);

// .

}

My problem is that in 'name' I have only 'A'! The '&amp;' not appears on my
variable!

My question is, where is my '&amp;'?

Thanks



Reply via email to