For example, there's really no simple and maintainable way to write the code necessary to generate and parse the following XML:
<Person Nationality=”US”>
<Name>
<First>John</First>
<Last>Doe</Last>
</Name>
</Person>
The existing tools require understanding way too much about the details of the XML language (e.g., DOM) and get in the way of the average developer doing useful work with XML data. For examples, this is the code required to read only a single attribute of an XML entity:

When I think easy, I imagine a tool that will allow the developer to:
1.) define a simple LabVIEW data structure that is analogous to an XML data structure of interest and
2.) use it to generate and parse the XML data.
For example, generating and parsing XML data in LabVIEW should be as easy as creating a cluster:
The good news is that JKI Software has just released such a tool that lets you work with XML by simply creating a cluster in LabVIEW. For example, you can create an XML playlist with just one VI and a cluster, as show in the screenshot, below.
And, parsing XML is just as easy, as you can see in this example that downloads the LAVA RSS feed and parses the data into a cluster.
This new tool is called the EasyXML Toolkit for LabVIEW and is a low-cost ($39 introductory price) toolkit that can be installed using VI Package Manager. And, you can even download the demo for free, using VIPM. Now, that's easy.
I prematurely hit the “publish” button, yesterday, when I released this blog article. The result was that the article sounded too much like a cheap ad and not enough like an informative article. So, today, I updated the article with some more useful information. Ya, this article is still a plug for EasyXML, but I hope you find it informative
Nice tool! Unfortunately I’m about to publish a clone of it for free
Alex: Don’t let us stop you
But, please give our free demo a try. We’ve worked hard to make sure that EasyXML is very robust, full of many nice usability features (e.g., pretty-print, support for attributes, graceful handling of comments, etc.), and is of the high-quality you’d expect from commercial grade software. I happily take on the challenge of trying to win you as a customer
Do you manage attributes? Like this:
[xml comments filtered out by blog]
Alex: Yes, sorry, the blog does filter anything that might look like XML, since that might be a security issue when the HTML is rendered. You can read more about how attributes are handled in the documentation, here. Basically, attributes are achieved by placing a cluster named “#attributes” as the first cluster element of the xml element cluster.
Alex,
Could you provide a link to your free toolkit? Curious about that one as well.
Jim,
Would it be possible (technically) to have the XML parser generate a cluster automatically. So that you can get that without, in advance, knowing what XML data you are getting. I guess that would be a variant then? Wonder how you would display that??
Oskar: We could, conceivably parse the XML data without knowing the LabVIEW data structure, in advance — yes, putting this in a variant would make sense. In a future version of the software, we are considering adding a utility that would allow you to create a cluster from the XML string, in order to reduce the work required to create a VI that can parse an XML string. We’ve got a lot of additional ease-of-use features that we’re working on, too
Alex: I’m curious to see your tool, too.
Its nice to know other people have the same needs and are working towards a more robust parser. I remember a year ago, I couldn’t find any discussions or code that could parse XML into a LabVIEW cluster. I actually spent some time developing my own vi to do just that. I’ve finally got it to a point where I think others could use it and improve upon it. However, I have no idea where I could share it.
On LAVA you can post such info at the CR in development portal.
or as a new thread.
Ton
Vincent: As Ton mentioned, the LAVA Code Repository is a great place to share your code. But, if you don’t want to do something that formal, you can just post your code to the LAVA discussion forums for people to see.
What is the difference between the trial version of the software and the purchased version? I cant seem to find an online comparison of the two.
Jon: the trail version of EasyXML is full-featured, but will present a dialog, telling you that it is a demo version.
Where did you find the first (orange) VI that converts the XML string into a DOM parser session? I can’t find it anywhere…
I think it’s part of the Internet toolkit
Ton
I though it was too but I cannot find that specific one anywhere. I have all the other ones.
Eli: That’s a custom VI that I wrote. It’s part of what makes it hard to use XML in LabVIEW, I guess
Basically, it writes the string to a temp file and then uses the LabVIEW Internet Toolkit’s Read XML from File functionality to read the temp file, which is then deleted.
Thank you Jim. Thats what I though was happening and exactly what I wanted to avoid.