XML comes free (but not easy) with LabVIEW 8.6

Posted on Tuesday 16 September 2008

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 .

XML Parser functions palette

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. :)


11 Comments for 'XML comes free (but not easy) with LabVIEW 8.6'

  1.  
    John Lokanis
    September 16, 2008 | 11:40 am
     

    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

  2.  
    September 16, 2008 | 11:59 am
     

    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).

  3.  
    American subprimes
    October 11, 2008 | 5:27 am
     

    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)

  4.  
    October 11, 2008 | 11:54 am
     

    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:

    • VIPM is written in LabVIEW and is not tied to any NI hardware.
    • VIPM Professional is actually a software engineering tool that allows you to effectively reuse your own code — it’s much more than just a tool to download OpenG VIs.
    • Tomi Maila doesn’t spell his name as “Tomy”
    • You should never say never.

    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 :)

  5.  
    Marcus Törndahl
    November 13, 2008 | 1:11 am
     

    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

  6.  
    Marcus Törndahl
    November 13, 2008 | 1:16 am
     

    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]

  7.  
    November 13, 2008 | 7:57 am
     

    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 ;)

  8.  
    November 30, 2008 | 10:44 pm
     

    > 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. :)

  9.  
    quteiba
    February 27, 2009 | 9:37 am
     

    i’m student in university of mousl Msc. in my research i’m want this software

  10.  
    Diego
    August 11, 2009 | 12:24 pm
     

    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?

  11.  
    August 13, 2009 | 7:35 am
     

    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.

Leave a comment

(required)

(required)


Information for comment users
Line and paragraph breaks are implemented automatically. Your e-mail address is never displayed. Please consider what you're posting.

Use the buttons below to customise your comment.


RSS feed for comments on this post |

 

Bad Behavior has blocked 597 access attempts in the last 7 days.