What is the fastest way to pull a few element values out of XML files in Perl?

Posted by Anon Guy on Stack Overflow See other posts from Stack Overflow or by Anon Guy
Published on 2010-03-14T08:44:49Z Indexed on 2010/03/14 8:55 UTC
Read the original article Hit count: 478

Filed under:
|
|

I have a bunch of XML files that are about 1-2 megabytes in size. Actually, more than a bunch, there are millions. They're all well-formed and many are even validated against their schema (confirmed with libxml2).

All were created by the same app, so they're in a consistent format (though this could theoretically change in the future).

I want to check the values of one element in each file from within a Perl script. Speed is important (I'd like to take less than a second per file) and as noted I already know the files are well-formed.

I am sorely tempted to simply 'open' the files in Perl and scan through until I see the element I am looking for, grab the value (which is near the start of the file), and close the file.

On the other hand, I could use an XML parser (which might protect me from future changes to the XML formatting) but I suspect it will be slower than I'd like.

Can anyone recommend an appropriate approach and/or parser?

Thanks in advance.

© Stack Overflow or respective owner

Related posts about perl

Related posts about Xml