XML-Smart reviews

cpanratings
 

RSS | Module Info | Add a review of XML-Smart

XML-Smart (1.79) *****

XML::Smart is the best way to work with xml files for me.
The only thing I would appreciate is more examples how to create
little more complex structure.
Thank you for incurred effort and sharing.

XML-Smart (1.79) *****

I think XML::Simple is overrated, advertised too much. I started with XML::Simple and soon switced to XML::Smart. It is far easier to create XML files.

And a module maintainer, Madabushi-san, was very nice and quick to respond for my question regarding Moose and XML::Smart!!
Go XML::Smart!!

XML-Smart (1.6.9) *****

All the modules I looked at for parsing XML, this one was the clear winner. I have data in XML files and I wanted simple convenient access to the contents. You can probably get to individual data items in fewer steps than with any other module. If this is your task, this is the module for you.

The fact that you have the option of using the built-in parser instead of XML::Parse is great if you need it to be lightweight and more easily self-contained as pure perl.

Error handling could be improved, and it is a bit confusing that every "query" into the structure returns an object, even if there isn't anything there... you have to test with is_node after attempting to access a node to see if such a node really exists. Might be nice if you could apply DTDs to data being read for error checking. So, if there is a question as to whether your XML files are well formed or not, then you might need another heavier duty module.

But I'm not complaining... it's free and it does the job better than anything else I've seen. Thanks to the author for contributing it to the community!

XML-Smart (1.6.8) **

It's a great module, but, xml tree operations are very strange... walk on the tree is very difficult and undocumented, it creates lots of bad attributes... good luck if you want to move a part of the document elsewhere in the tree.... (ex root->node1->node2 => root->node2)

sorry, but i have to rewrite my application...

XML-Smart (1.5.4) *****

Great module! I have tried XML::Grove to generate XML and XML::Simple to load, but when I saw a review of XML::Smart in a IBM web site I tried it and is exactly what we want.

With XML::Smart we can install it easy, since it's self contained, unless the Object::MultiType module that was made for it by the same author. But we still can parse XML files with XML::Parser, or use the 2 other parsers that came with XML::Smart, one to parse XML with pure Perl and the other to parse HTML, or wild XML, as the author says.

To generate XML is easy, we just need to use the object like an ARRAY/HASH reference in Perl. Also it will handle binary data and unicode automatically. About XML::Smart forgot to keep the elements order, I haven't found problems with that, seems that from the version 1.5+ is everything fine.

To load XML data is simple, you just point the file or the data, and we can access it like: $xml->{root}{foo}{bar}, but we don't need to care about the value be inside an ARRAY or HASH, soo, we also can write $xml->{root}{foo}{bar}[0].

Well, XML::Smart will make almost things automatic when working with XML, actually with it we don't need to know much about XML to use XML, and this is why I give it 5 stars in everything. I just don't know why we don't see more advices to use it, maybe is because it's a new module compared to the others.

XML-Smart (1.4.1) *****

I had a set spec, and went crawling for XML modules, and this was the only one to meet it. Seems to work a real charm, and even using the pure Perl XML::Smart::Parser seems to be fine (one of the items in my spec was that the entire app must be able to work pure Perl - if necessary), and seems to co-operate with XML::Parser fine too.

Uses the author's own Object::MultiType module for internal data representation which results in a bit of an unfamiliar structure, but makes sense given five minutes thought. Luckily you can convert to a hash, so you can work in peace, then pass it back again when you want to regenerate the XML :-)

Anyway, I'm surprised this hasn't got any more reviews, it's well worth checking out. I found it far more powerful than XML::Mini, which doesn't even seem to support CDATA out of the box. Keep up the good work Sir!
1 hidden unhelpful review