LabVIEW利用OLE自动化读写XML文件

上传者: renstarone | 上传时间: 2021-08-27 17:37:23 | 文件大小: 609KB | 文件类型: RAR
我们为什么要在LabVIEW中使用XML文件?①它是许多服务器数据传输的基本格式,在网络编程中有很大的几率要使用它。②它比ini文件功能强大,它可以编写复杂逻辑关系的数据配置文件,类似一个微型的数据库文件。。。。。。 感谢微软提供了OLE技术,使得不同程序之间可以通过预先指定的接口互相调用。微软提供了MSXML2.0, 4.0 及 6.0动态链接库来支援开发人员读写XML文件。 而LabVIEW正可以通过OLE自动化接口,调用MSXML*.dll动态链接库,完成对XML文件的操作。如果你的系统没有安装MSXML*.dll,可以去网上下载并安装就可以了。论坛中有许多朋友已经使用该方式去读写EXCEL, WORD,ACCESS。 有了OLE接口是不是就能很方便的读写XML文件了呢?不是,因为其中的操作是通过引用(Reference)来完成的,使用引用并不是免费的午餐,你必须时刻提防内存泄露,如果你忘记释放它,那么你就会在任务管理器中看到:你的程序内存消耗在不断的增长。 更要命的是XML文件是以树的方式构成的,从上往下分大致有:Document, root node, node List, node,而node中又包含parent node, child node,你的程序怎么才能组织好对它的调用?想想头都大了,是不是? 还好我们还有面向对象编程,把以上的东西都归下类,发现XML文件就是由Document, node list 和 node组成的,其他的都是根据这三个类派生出来的。那么就定义三个类,分别是CDoc, CNodeList 和 CNode由他们负责来完成对XML文件的操作。更方便的是,对于引用(Reference)的管理也都在这三个类当中完成,这有效地减轻了程序的复杂度。 附件中的程序是用LabVIEW8.5开发的,其中包含了一份Sample.xml文件,供大家测试。 本程序是调用MSXML4.0接口来完成的,如果你系统里没有安装,那么将不能运行该程序。

文件下载

资源详情

[{"title":"( 54 个子文件 609KB ) LabVIEW利用OLE自动化读写XML文件","children":[{"title":"XML_Class","children":[{"title":"XML_Class","children":[{"title":"MSXML4.0","children":[{"title":"CNodeList Class","children":[{"title":"CNodeList.lvclass <span style='color:#111;'> 35.05KB </span>","children":null,"spread":false},{"title":"Protect","children":[{"title":"CNList_Add_NList_Reference.vi <span style='color:#111;'> 16.23KB </span>","children":null,"spread":false},{"title":"CNList_Get_NList_Reference.vi <span style='color:#111;'> 15.32KB </span>","children":null,"spread":false}],"spread":true},{"title":"Public","children":[{"title":"CNList_Dispose_NodeList.vi <span style='color:#111;'> 15.80KB </span>","children":null,"spread":false},{"title":"Get parentNode.vi <span style='color:#111;'> 14.82KB </span>","children":null,"spread":false},{"title":"CNList_Set_TypedValues.vi <span style='color:#111;'> 18.79KB </span>","children":null,"spread":false},{"title":"TestNodeNames.vi <span style='color:#111;'> 26.49KB </span>","children":null,"spread":false},{"title":"CNList_Get_Node_By_NodeText.vi <span style='color:#111;'> 32.64KB </span>","children":null,"spread":false},{"title":"CNList_Get_TypedValues.vi <span style='color:#111;'> 19.07KB </span>","children":null,"spread":false},{"title":"CNList_Get_Node_By_NodeAttribute.vi <span style='color:#111;'> 41.62KB </span>","children":null,"spread":false},{"title":"Initialize XML File.vi <span style='color:#111;'> 21.97KB </span>","children":null,"spread":false},{"title":"CNList_Get_Node_By_NodeName.vi <span style='color:#111;'> 22.58KB </span>","children":null,"spread":false},{"title":"CNList_Get_Names.vi <span style='color:#111;'> 18.86KB </span>","children":null,"spread":false}],"spread":true},{"title":"Private","children":[{"title":"CNList_Search_Mode.vi <span style='color:#111;'> 9.05KB </span>","children":null,"spread":false},{"title":"CNList_Get_Element.vi <span style='color:#111;'> 22.36KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"CNode Class","children":[{"title":"CNode.lvclass <span style='color:#111;'> 41.27KB </span>","children":null,"spread":false},{"title":"Public","children":[{"title":"CNode_Get_ChildNode.vi <span style='color:#111;'> 35.88KB </span>","children":null,"spread":false},{"title":"CNode_Create_Node.vi <span style='color:#111;'> 21.77KB </span>","children":null,"spread":false},{"title":"CNode_Add_New_Node.vi <span style='color:#111;'> 27.04KB </span>","children":null,"spread":false},{"title":"CNode_Get_Name.vi <span style='color:#111;'> 16.77KB </span>","children":null,"spread":false},{"title":"CNode_Dispose_Node.vi <span style='color:#111;'> 17.02KB </span>","children":null,"spread":false},{"title":"CNode_Clone_Node.vi <span style='color:#111;'> 19.64KB </span>","children":null,"spread":false},{"title":"update node","children":[{"title":"CNode_Delete_Node.vi <span style='color:#111;'> 20.28KB </span>","children":null,"spread":false},{"title":"CNode_Set_Attribute.vi <span style='color:#111;'> 22.81KB </span>","children":null,"spread":false},{"title":"CNode_Set_ChildNode_Values.vi <span style='color:#111;'> 25.31KB </span>","children":null,"spread":false},{"title":"Read_Custom_Parameter.vi <span style='color:#111;'> 24.62KB </span>","children":null,"spread":false},{"title":"CNode_Set_Value.vi <span style='color:#111;'> 16.67KB </span>","children":null,"spread":false},{"title":"CNode_InsertBefore_ChildNode.vi <span style='color:#111;'> 22.56KB </span>","children":null,"spread":false},{"title":"CNode_Append_ChildNode.vi <span style='color:#111;'> 21.09KB </span>","children":null,"spread":false}],"spread":true},{"title":"Create_ParentNode.vi <span style='color:#111;'> 18.35KB </span>","children":null,"spread":false},{"title":"CNode_Get_Attribute.vi <span style='color:#111;'> 20.90KB </span>","children":null,"spread":false},{"title":"CNode_Select_Node.vi <span style='color:#111;'> 19.03KB </span>","children":null,"spread":false},{"title":"CNode_Get_TypedValue.vi <span style='color:#111;'> 17.11KB </span>","children":null,"spread":false}],"spread":false},{"title":"Private","children":[{"title":"CNode_Has_ChildNodes.vi <span style='color:#111;'> 16.43KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"CDoc Class","children":[{"title":"Protect","children":[{"title":"CDoc_Initializing_Reference.vi <span style='color:#111;'> 19.66KB </span>","children":null,"spread":false},{"title":"CDoc_Get_Reference.vi <span style='color:#111;'> 14.77KB </span>","children":null,"spread":false},{"title":"CDoc_Build_XML_Error.vi <span style='color:#111;'> 15.30KB </span>","children":null,"spread":false}],"spread":true},{"title":"Public","children":[{"title":"CDoc_Close_File.vi <span style='color:#111;'> 19.30KB </span>","children":null,"spread":false},{"title":"Check XML File.vi <span style='color:#111;'> 20.66KB </span>","children":null,"spread":false},{"title":"CDoc_Load_XSD_File.vi <span style='color:#111;'> 20.77KB </span>","children":null,"spread":false},{"title":"CDoc_Read_XML_File.vi <span style='color:#111;'> 16.67KB </span>","children":null,"spread":false},{"title":"CDoc_Check_XML_File.vi <span style='color:#111;'> 20.09KB </span>","children":null,"spread":false},{"title":"CDoc_Load_XML_File.vi <span style='color:#111;'> 27.62KB </span>","children":null,"spread":false},{"title":"Initialize XML File.vi <span style='color:#111;'> 25.96KB </span>","children":null,"spread":false},{"title":"CDoc_Save_File.vi <span style='color:#111;'> 17.20KB </span>","children":null,"spread":false},{"title":"CDoc_Get_Error_Info.vi <span style='color:#111;'> 22.17KB </span>","children":null,"spread":false}],"spread":true},{"title":"CDoc.lvclass <span style='color:#111;'> 35.13KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"XML.lvproj <span style='color:#111;'> 1.63KB </span>","children":null,"spread":false},{"title":"Examples","children":[{"title":"Clone_Node.vi <span style='color:#111;'> 41.77KB </span>","children":null,"spread":false},{"title":"Read_XML.vi <span style='color:#111;'> 11.77KB </span>","children":null,"spread":false},{"title":"About Author.txt <span style='color:#111;'> 212B </span>","children":null,"spread":false},{"title":"Sample.xml <span style='color:#111;'> 8.36KB </span>","children":null,"spread":false},{"title":"Get_NodeName_And_Value.vi <span style='color:#111;'> 25.02KB </span>","children":null,"spread":false}],"spread":true},{"title":"XML.aliases <span style='color:#111;'> 48B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}]

评论信息

  • showerwood :
    只能说我级别还是不够... 有点看不懂. 继续努力!
    2015-05-03
  • zenzhenshan :
    用处不大,可以参考
    2015-01-24
  • scshzx1 :
    不能加载外部schema,我还是拾取不了node,麻烦大啊!
    2014-12-16
  • yuderu :
    挺好的,就是用的模型跟我的不大一样,还要再琢磨琢磨~
    2014-06-10
  • u012616646 :
    哥们,你好 用了你的程序之后 报一个错误是怎么回事?怎样才能解决:说系统错误?
    2013-10-29

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明