带Labview的LibXML-无命名空间前缀

带Labview的LibXML-无命名空间前缀,xml,xpath,libxml2,labview,Xml,Xpath,Libxml2,Labview,我一直在使用Labview的原生XML解析器来读取XML文档。事实证明,它对于大文件来说太慢了。因此,我试图使用,因为它似乎是相当流行的。但是,我在名称空间方面遇到了问题。我有一个第三方XML文档,如下所示: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <foo xmlns="urn:foo_Schema_V3"> <bar> <fooID descriptio

我一直在使用Labview的原生XML解析器来读取XML文档。事实证明,它对于大文件来说太慢了。因此,我试图使用,因为它似乎是相当流行的。但是,我在名称空间方面遇到了问题。我有一个第三方XML文档,如下所示:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<foo xmlns="urn:foo_Schema_V3">
     <bar>
        <fooID description="XML Test 170731"></fooID>
        <barNumber>60</barNumber>      
    </bar>
</foo>

60
并且希望使用Labview选择barNumber,它使用XPath。

内容文本应为60,但仍为空。我读了一点,并假设这是由于LibXML中的名称空间问题造成的。作为测试,我将XML中的第二行更改为

<foo xmlns:cliff="urn:foo_Schema_V3">

突然,XPath表达式开始工作,尽管在Labview中从未提到过cliff

Q:如何在没有名称空间前缀的情况下选择所需的节点

更新:我已经习惯了使用
/*[local-name()='foo']/*[local-name()='bar']/*[local-name()=‌​'barNumber']
,这并不优雅,也不能解释为什么没有前缀就不能选择节点