I've had a great response to my XML-to-JSON convertor and remapper. Its ability to not only convert but also remap data on the fly, to your precise structural requirements, has gone down particularly well.
One flaw raised today, though, was that it didn't work with RSS fees. Standard XML feeds, yes, but not RSS. After some digging I realised why.
The plugin expected the iteration node (i.e. the repeated node whose data will form the sub-objects of your JSON data) to directly follow the root node, e.g.
1<root>
2 <news_story>
3 <headline>foo</headline>
4 <url>bar.html</url>
5 </news_story>
6</root>
But if your XML had more levels - such as the following, typical of RSS:
1<rss>
2 <channel>
3 <news_story>
4 <headline>foo</headline>
5 <url>bar.html</url>
6 </news_story>
7 </channel>
8</rss>
...it didn't play ball. This has been countered by the addition of a new second argument when calling the plugin, in which you pass a space-separated selector string matching the iteration node, so for the above two examples this would be 'root news_story' and 'rss channel news_story', respectively.
Happy days! to download, get usage info or view a demo.
I've also been asked about whether the plugin supports XML node attributes. No, but it will. Stay posted...
XML-to-JSON convertor and remapper
After much hair-pulling and cursing, my XML-to-JSON convertor and remapper is finally here.
The real power behind this plugin is its ability to not only convert but also REMAP your data on the fly. There are other plugins out there that handle conversion, but I've not seen any that also remap.
This has the potential to be hugely useful.
Imagine you're using a news ticker that requires JSON data (for the headlines, URLs etc), but you want to populate it with data from an XML feed you don't have control over, and whose property names and hierarchical structure is different from what your ticker needs:
1<item>
2 <one>foo</one>
3 <two>bar</two>
4 <three>
5 <four>foobar</four>
6 </three>
7</item>
but you need
1{
2 one: 'foo',
3 two: 'bar',
4 three: 'foobar'
5}
...so not only a conversion but also a structural change. You can achieve that with this plugin.
Head over here to download, get usage info or view a demo.
post a comment