One of the great new features in LabVIEW 8.6 is the built-in set of functions for parsing XML. Having an XML parser built-into LabVIEW is really a wonderful thing (previously, these VIs were part of the Internet Toolkit which was a paid, add on). This makes XML a lot more accessible for LabVIEW developers.
The XML Parser VIs (shown below) can be found in the Functions Palette at Programming>>File I/O>>XML>>XML Parser .

One major drawback of these VI’s is that they still don’t make it easy to work with XML data. Don’t get me wrong, I love the fact that these VIs ship with LabVIEW. In fact, they expose more people to XML and thus create more demand for an easier approach to working with XML in LabVIEW.
Jim,
Do you think this XML parser is any faster in LabVIEW that making direct .NET calls to the MSXML assembly? I have a lot of code that uses XML.NET but it suffers from the overhead in LabVIEW to make .NET calls. I am hopeful that this is a native parser with better performace, but we would need some benchmarks to show this.
thanks,
-John
John: I haven’t done any benchmarking of the XML parser in 8.6 and I don’t have any idea about whether it would be faster than MSXML. I think that the 8.6 parser uses the Xerces parser, under the hood, via a call to a DLL (LabVIEW 8.6\resource\nixerces27.dll).
See what your are talking about:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
it’s 0.248% worldwide spread. Nobody will ever make a web app, CRM, ERP, or general programs (like thousands of them you can find on google code, or sourgeforge.net).
LV is tight to NI hardware (DAQ and control dedicated boards) and that’s it. In there sense that it’s nothing more than that.
Just to say OOP: man, object oriented paradigm is out for more than 10 years, and it’s really weird to see Tomy mailaspeaking enthusiastically on youtube about what is an object ( *today* in 2008)
American subprimes,
Wow! My blog must be getting very popular to be at the point where it has trolls trying to start LabVIEW flame-wars.
It’s nice to see that I have readers in Milano, Italy (based on your IP address). I’m trying to think of anyone I know there who might be the type to play a joke on me
Since I can’t think of anyone off-hand, so I’ll just respond to a few of your comments:
You seem to know, at a very superficial level, a lot about LabVIEW and its community for someone who seems so obviously biased against it. Perhaps your fascination for LabVIEW is a great source of cognitive dissonance and self contempt that can only be expressed by making inflammatory posts. What made you so angry at LabVIEW, the United States, me, and Tomi?
Thanks for helping to keep Thinking in G interesting
Jim,
I tried tis new feature and got some quite interesting answers. I made the following structure to test this functionality out:
1
1
1
1
1
1
When retrieving an aray of the child node names of the first child (A) I get a “#text” element between all the child node names, like this:
#text
B
#text
C
#text
D
#text
E
#text
This is kind of odd. Do you have any experience in this?
BR, Marcus
Well, in the comment above, I included an XML structure which unfortunately can’t be seen so I will try to visualize the structure in this way istead:
[A]
[B]…[/B]
[C]…[/C]
[D]
[F]…[/F]
[G]…[/G]
[H]…[/H]
[E]…[/E]
[/A]
Marcus: I found your example, here, and I see that you’re question was already answered. As you can see, using the new XML parser in LabVIEW 8.6 isn’t very easy
> Just to say OOP: man, object oriented paradigm is out for more than 10 years, and it’s really weird to see Tomy mailaspeaking enthusiastically on youtube about what is an object ( *today* in 2008)
First LV OOP is not OOP in the very definition of the word, instead it is OOP in a new way as objects are values and as such do not have identity. So it was really something new in 2006 when introduced. For example it allows writing multithreaded applications with class and object abstractions without explicitly using threads. Second as this is a new paradigm, combining dataflow programming and OOP, there definitely is some need for tutorial material for it. I’m not making videos to say, hey guys this is some cool feature, check it out. I’m making videos as I know, the differences between classical OOP and LV OOP make people a little confused on how to use LV OOP properly. Third, as Jim already corrected, my name is Tomi. Anyway, you can pronounce it as [Tomy], so in a sense you were correct.
i’m student in university of mousl Msc. in my research i’m want this software
I have the same question of Marcus Törndahl (November 13, 2008) but i cannot open the link posted by Jim Kring which is supposed to give the answer. Can someone help me?
Diego: The LAVA website was recently upgraded and some of the old links were lost. I tried, but I can’t easily find the thread that I linked to.