這篇是給已經有Labview XML Tool基礎的人,
Labview XML Tool基本上做的都還算不錯,如果你有過其他平台之XML開發經驗的話會更好上手
我在處裡Text Node的時候(C#叫做Inner Text)遇到了些問題,因此留個紀錄與分享。
新增Text Node沒有問題

但是在取代Text Node的時候,發現沒有Replace Text Node這個功能,
應該會有人想問說「用Node Value不就解決了?」
![]()
一切的問題就是源自於此,Node Value修改之後,並不會被存起來,
查看NI的網站之後,這個Value似乎只會被作為讀出,並不會寫入 (那為什麼要有 Write Function....)
佛說有問題,就是沒有問題。工程師說,能解決的問題,都不是問題。
爬過許多文章及遇過諸多Bug後,
在NI論壇上有人討論到這些,但在使用上的功能並不夠完整,
網址中的範例檔案,是透過重新建構一個子節點(Child Node)並且創造一個新的Text Node,
但範例檔案並不夠完整,僅能針對沒有子節點(Child Node)與屬性(Attribute)的情況進行修改,
如果你的節點具有子節點或者屬性標籤的話,在範例檔中會直接消失。
因此,我將範例檔案修改後,重新增加子節點與屬性標籤的複製,如此一來才算完整的完成Text Node的修改。
程式區塊大致如下
1.讀取並找到要修改的子節點,創造一個新的且同名的節點

2.判定有沒有子節點

3.如果有子節點,則把所有子節點新增到新建立的節點底下

如果節點名稱為"#text"的時候(Labview 預設的Text Node Name) 則不進行複製,因為那正是我們要修改的東西。

4. 判定有無屬性標籤(Attributes),如果有,則在新節點創造一樣的屬性標籤

5. 寫入想要的Text Node,並將新節點取代舊節點,最後輸出。


請先 登入 以發表留言。