新闻中心

EEPW首页 > 测试测量 > 设计应用 > LabVIEW数据记录和存储(四)—XML文件

LabVIEW数据记录和存储(四)—XML文件

作者: 时间:2017-01-09 来源:网络 收藏

  1. Flatten To XML:将LabVIEW中的数据转化为符合XML语言规范的XML字符串。这种转换是根据预定义的XML Schema文件实现的,默认路径为vi.libUtilityLVXMLSchema.xsd。目前LabVIEW并不支持自定义的XML Schema,也不支持LabVIEW对某个数据的自定义标记。
  2. Unflatten From XML:这是与Flatten To XML作用相反的函数,它根据XML Schema将XML字符串转化为LabVIEW可识别的数据类型。
  3. Write to XML File:将XML字符串写入XML文件中。
  4. Read From XML File:从XML文件中读取XML字符串。
  5. Escape XML:将特殊字符串转换为符合XML语法的字符。它可以将<、>、&、、"转换为、>、、'、。
  6. Unescape XML:与Escape XML函数的功能相反。


图 19 LabVIEW Schema函数选板
图 20是利用图 19所示的函数将LabVIEW中产生的数据转换为XML字符串并写入XML文件中。LabVIEW会自动根据XSD文件将double、string和cluster数据转换为XML字符串,而程序员无法自定义转换的具体方式和内容。


图 20 将LabVIEW数据类型转换为XML文件
将XML文件中的字符串转换为LabVIEW中的数据类型,只需要使用LabVIEW Schema中的函数就可以了,如图 21所示。


图 21 将XML文件转换为LabVIEW数据类型
从图 19 ~ 图 21可以看出,将LabVIEW中的相关数据转换为对应的XML字符串比较简单。但是在LabVIEW中程序员如何能够解析非LabVIEW生成的XML文档呢?如何获取任何一个XML文件中的XML元素和属性呢?LabVIEW中使用Xerces 2.7解析器处理XML文档,它需要使用到XML DOM(Document Object Model,文档对象模型),该对象模型主要是定义了一套访问和操作XML文档的标准方法。


图 22 XML Parse函数选板
本文将使用LabVIEW中的解析器解析图 17所示的XML文件,如图 23所示(下载)。本例希望读取所有的AC Source仪器配置信息,首先使用Load.vi函数打开XML文件,得到DOM Document指针;然后,使用Get First Matched Node.vi函数搜索XML文件中的ACSource元素,并得到该节点的指针;使用ChildNodesArray获取ACSource元素下所有的一级子元素,即instrument元素列表;然后依次获取Instrument元素中的各个子元素的文本值;最后,使用Close.vi关闭打开的节点。从图中可以看出,当ACSource元素中增加了新的仪器时,该读取VI不需要任何修改,非常易于扩展。


图 23 解析XML文件
需要说明的是,Get First Matched Node.vi函数XPath expression参数表示通过XPath语法定义的表达式,目前LabVIEW支持World Wide Web Consortium (W3C)制定的XPath 1.0。关于XPath的相关知识,可以参见W3C的网站或W3school网站。通过XPath语法,程序员可以非常方便地获取某个具体的元素节点。图 24使用XPath表达式直接获取了XML文件中DMM元素下第1个仪器的地址值。


图 24 使用XPath表达式获取address元素值
事实上,XML本身就是一门内涵丰富的语言,程序员可以使用它存储和传输具有复杂结构的数据。虽然XML在很多方面都优于ini文件,但是ini文件由于其便捷的操作性仍然被大量用于应用程序的配置应用中。

上一页 1 2 下一页

评论


技术专区

关闭