<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > LabVIEW數(shù)據(jù)記錄和存儲(四)—XML文件

          LabVIEW數(shù)據(jù)記錄和存儲(四)—XML文件

          作者: 時間:2017-01-09 來源:網(wǎng)絡(luò) 收藏

          1. Flatten To XML:將LabVIEW中的數(shù)據(jù)轉(zhuǎn)化為符合XML語言規(guī)范的XML字符串。這種轉(zhuǎn)換是根據(jù)預(yù)定義的XML Schema文件實現(xiàn)的,默認(rèn)路徑為vi.libUtilityLVXMLSchema.xsd。目前LabVIEW并不支持自定義的XML Schema,也不支持LabVIEW對某個數(shù)據(jù)的自定義標(biāo)記。
          2. Unflatten From XML:這是與Flatten To XML作用相反的函數(shù),它根據(jù)XML Schema將XML字符串轉(zhuǎn)化為LabVIEW可識別的數(shù)據(jù)類型。
          3. Write to XML File:將XML字符串寫入XML文件中。
          4. Read From XML File:從XML文件中讀取XML字符串。
          5. Escape XML:將特殊字符串轉(zhuǎn)換為符合XML語法的字符。它可以將<、>、&、、"轉(zhuǎn)換為、>、、'、。
          6. Unescape XML:與Escape XML函數(shù)的功能相反。


          圖 19 LabVIEW Schema函數(shù)選板
          圖 20是利用圖 19所示的函數(shù)將LabVIEW中產(chǎn)生的數(shù)據(jù)轉(zhuǎn)換為XML字符串并寫入XML文件中。LabVIEW會自動根據(jù)XSD文件將double、string和cluster數(shù)據(jù)轉(zhuǎn)換為XML字符串,而程序員無法自定義轉(zhuǎn)換的具體方式和內(nèi)容。


          圖 20 將LabVIEW數(shù)據(jù)類型轉(zhuǎn)換為XML文件
          將XML文件中的字符串轉(zhuǎn)換為LabVIEW中的數(shù)據(jù)類型,只需要使用LabVIEW Schema中的函數(shù)就可以了,如圖 21所示。


          圖 21 將XML文件轉(zhuǎn)換為LabVIEW數(shù)據(jù)類型
          從圖 19 ~ 圖 21可以看出,將LabVIEW中的相關(guān)數(shù)據(jù)轉(zhuǎn)換為對應(yīng)的XML字符串比較簡單。但是在LabVIEW中程序員如何能夠解析非LabVIEW生成的XML文檔呢?如何獲取任何一個XML文件中的XML元素和屬性呢?LabVIEW中使用Xerces 2.7解析器處理XML文檔,它需要使用到XML DOM(Document Object Model,文檔對象模型),該對象模型主要是定義了一套訪問和操作XML文檔的標(biāo)準(zhǔn)方法。


          圖 22 XML Parse函數(shù)選板
          本文將使用LabVIEW中的解析器解析圖 17所示的XML文件,如圖 23所示(下載)。本例希望讀取所有的AC Source儀器配置信息,首先使用Load.vi函數(shù)打開XML文件,得到DOM Document指針;然后,使用Get First Matched Node.vi函數(shù)搜索XML文件中的ACSource元素,并得到該節(jié)點的指針;使用ChildNodesArray獲取ACSource元素下所有的一級子元素,即instrument元素列表;然后依次獲取Instrument元素中的各個子元素的文本值;最后,使用Close.vi關(guān)閉打開的節(jié)點。從圖中可以看出,當(dāng)ACSource元素中增加了新的儀器時,該讀取VI不需要任何修改,非常易于擴展。


          圖 23 解析XML文件
          需要說明的是,Get First Matched Node.vi函數(shù)XPath expression參數(shù)表示通過XPath語法定義的表達式,目前LabVIEW支持World Wide Web Consortium (W3C)制定的XPath 1.0。關(guān)于XPath的相關(guān)知識,可以參見W3C的網(wǎng)站或W3school網(wǎng)站。通過XPath語法,程序員可以非常方便地獲取某個具體的元素節(jié)點。圖 24使用XPath表達式直接獲取了XML文件中DMM元素下第1個儀器的地址值。


          圖 24 使用XPath表達式獲取address元素值
          事實上,XML本身就是一門內(nèi)涵豐富的語言,程序員可以使用它存儲和傳輸具有復(fù)雜結(jié)構(gòu)的數(shù)據(jù)。雖然XML在很多方面都優(yōu)于ini文件,但是ini文件由于其便捷的操作性仍然被大量用于應(yīng)用程序的配置應(yīng)用中。

          上一頁 1 2 下一頁

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();