带Labview的LibXML-无命名空间前缀
我一直在使用Labview的原生XML解析器来读取XML文档。事实证明,它对于大文件来说太慢了。因此,我试图使用,因为它似乎是相当流行的。但是,我在名称空间方面遇到了问题。我有一个第三方XML文档,如下所示:带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
<?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']
,这并不优雅,也不能解释为什么没有前缀就不能选择节点