C++ XML Parser
Sam Varshavchik
mrsam at courier-mta.com
Thu Jan 4 02:38:19 UTC 2007
Mike - EMAIL IGNORED writes:
> On Wed, 03 Jan 2007 13:30:18 -0500, Dmitriy Kropivnitskiy wrote:
>
>> James Kosin wrote:
> [...]
>>>
>>> An XML parser is more or less a text parser.
>>> Usually best to write your own. It is very simple design and
>>> straightforward.
>>
>> Yikes! This is a very bad suggestion. The idea behind standards like XML is to have standard tools to work with them, thus eliminating repeating the
>> same mistakes in every implementation. You don't go writing a new regular expression parser every time you need regexes do you? To answer the original
>> email, there are a few XML parsers in common use out there. The main ones for UNIX are probably libxml and expat.
>>
>
> I agree with both of the quoted sentiments. I took a look at one of
> the recommended parsers, and decided that it would take a while to
> install it and figure out how to use it. However, since:
> 1) I already have a well tested general token parser;
> 2) my present XML requirement is close to the most trivial
> possible;
> I parsed it directly, with numerous application-specific tests
> for validity. In a couple of hours, it is tested and running.
>
> However, for general application, the use of software conforming
> standards is certainly preferable. There seems to be a number of
> choices.
>
> How to choose?
Well, I don't know what you evaluated, but late last year I had to through
together a C++ XML parser. I remember looking at libxml a long time ago, so
this time around I looked at it again.
I found that the current version of libxml2 had a new parsing API that was
laughably easy to use directly, or wrap into a C++ class. It was laughably
easy for me to wrap it up into a class, and get a robust parser with full
namespace support. I could refer to the individual nodes and attributes by
uri/name pair directly, without dealing with the headaches of implementing
and tracking namespaces.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/fedora-list/attachments/20070103/0b4d3dec/attachment-0001.sig>
More information about the fedora-list
mailing list