Hi,
I wrote a small function for this purpose some time ago.
I didn't test it with the last versions of libxml2 nor did I ensure that this
code if correct but it gives you the idea of a method that you can use to
remove blank nodes.
The usage is for instance:
doc = xmlReadFile (xmlfile, NULL, 0);
if (doc == NULL)
{
/* Deal with error... */
return 1;
}
glbRemoveBlankNodes (xmlDocGetRootElement(doc));
Hope this helps,
Best regards,
Georges-André SILBER
LUXIA
int
glbRemoveBlankNodes (xmlNodePtr n)
{
xmlNodePtr cur;
xmlNodePtr next;
if (n == NULL)
return 0;
cur = n->children;
while (cur)
{
next = cur->next;
if (xmlIsBlankNode (cur))
{
xmlUnlinkNode (cur);
xmlFreeNode (cur);
}
else
glbRemoveBlankNodes (cur);
cur = next;
}
return 0;
}
Le 16 févr. 2012 à 08:57, [email protected] a écrit :
> Yes you are right.
> But I am not sure my function will do a good job.
> I know 2 whitespaces : " ", "\t", ... But I am not sure that I know all of
> them.
> My function will probably forgot to strip some whitespaces...
> This is the reason why I would like to use an already defined function.
>
> Is there a function which do this job?
>
> ----- Mail original -----
> De: "Liam R E Quin" <[email protected]>
> À: "spam spam spam spam" <[email protected]>
> Cc: [email protected]
> Envoyé: Jeudi 16 Février 2012 08:40:31
> Objet: Re: [xml] Remove whitespaces from text nodes
>
> On Thu, 2012-02-16 at 08:28 +0100, [email protected] wrote:
>> [...].
>> Anyway, there seems to have no other solution with libxml2 only.
>
> The spaces are part of the text of the document, so it's not likely that
> a conformant XML parser will strip them for you.
>
> You could of course remove the spaces in C after parsing, just as if you
> decided to remove every occurrence of an upper-case "B" from the input.
>
> That's just standard C string processing.
>
> --
> Liam Quin - XML Activity Lead, W3C, http://www.w3.org/People/Quin/
> Pictures from old books: http://fromoldbooks.org/
>
> _______________________________________________
> xml mailing list, project page http://xmlsoft.org/
> [email protected]
> http://mail.gnome.org/mailman/listinfo/xml
_______________________________________________
xml mailing list, project page http://xmlsoft.org/
[email protected]
http://mail.gnome.org/mailman/listinfo/xml