[Expat-discuss] extracting value other than element and attribute

yuki latt yuki.latt at gmail.com
Thu Jul 24 07:32:35 CEST 2008


Hello,

          Thank you so much for your reply. As you said, I got more than one
of that callbacks. Could you please tell me how I can fix this?

regards,
yuki

On Tue, Jul 22, 2008 at 9:57 PM, Nick MacDonald <nickmacd at gmail.com> wrote:

> To get the start and the end of the elements, you use callbacks, which
> in my code are called startElement and endElement:
>        XML_SetElementHandler(parser, startElement, endElement);
> This is also where you get to know the parameters on the elements,
> such as your id="1001"
>
> But to get the data inside the elements, you need the following, which
> calls a callback elementText in my case:
>        XML_SetCharacterDataHandler(parser, elementText);
>
> void XMLCALL elementText(
>  void*       userData,
>  const char*  text,
>  int          len
> );
>
> NOTE you may get more than one of these callbacks, and YOU have to
> handle the concatenation.  (This can occur depending on line breaks,
> and special embedded content, such as &amp;  and the like.  I mention
> this, as it has been a stumbling block and often seems to surprise
> others who write to the list about it.)
>
> Good luck,
>   Nick
>
>
> On Tue, Jul 22, 2008 at 1:56 AM, yuki latt <yuki.latt at gmail.com> wrote:
> >      I gave up using expat-win-32 on windows. :(
> >
> >     Now I am using expat linux version on cygwin (OS: windows XP).
> > Everything is OK. Please let me ask a question.
> >
> > Outline.c prints  elements and their arguments.  Let's say that there is
> -
> > <date id="001"> 2008-7-22 </date>.
> >
> > Outline.c prints -   date and  id="1001" (element and its arguments).
> >
> >                          I want to retreive the  value 2008-7-22.  How
> > should I do?
>


More information about the Expat-discuss mailing list