使用Visual Basic操纵XML文档[1]
[入库:2005年8月18日] [更新:2007年3月24日]
使用visual basic操纵xml文档 中国航空信息中心 吴斌
|
| 对于xml文档,插入、修改、检索等数据操作工作可以通过一个xml解析器及其列举的一系列对象来完成。 microsoft的xml解析器驻留在名为msxml.dll的动态链接库文件中。因为msxml是一个com对象,所以可以在任何兼容activex的环境中使用它,如在vb和 asp中。本文介绍在visual basic中操纵xml文档的具体方法。 |
| 新建一个vb standard exe工程项目。在form1中添加一个commandbutton控件,将其name和caption属性分别设为cmdload和load xml。为了使用msxml解析器,必须事先设置工程项目对msxml.dll的引用。选择project菜单的 references命令,选中microsoft xml, version 2.0或更高版本。将下列代码加入 cmdload_click事件: |
| private sub cmdload_click() |
| set xml = new domdocument |
| call xml.load(app.path & “flight.xml") |
| ' flight.xml为描述航班信息的xml文档 |
| 运行该程序,点击load xml按钮即可装载xml文档。载入的xml文档包含一个按照树状结构排列的节点对象集合,顶层节点或根节点是 documentelement。每个节点都有一组属性和方法,每个节点可以包含一个或多个子节点,当然也可以不包含任何节点。必须先取得对根节点的引用才能操纵xml文档。在 cmdload_click事件代码后添加下列代码: |
| dim root as ixmldomelement |
| set root = xml.documentelement |
| 可以使用visual basic的for each...next循环结构在节点对象集合中循环。在cmdload_click事件代码后添加下列代码: |
| for each node in root.childnodes |
| 运行后点击load xml按钮,将会在immediate窗口中看到如下输出结果: |
| 北京 首都国际 香港 赤邋角 中国国际航空公司 波音公司 |
| 上海 浦东 法兰克福 美茵 塔什干 尤日内 汉莎航空公司 空中客车工业公司 |
| 注意,每个节点的text属性不仅包含自身的属性值,还包含其下属所有子节点的text属性值。一般情况下,不会同时操作所有的节点。可以使用 selectnodes方法取得对一个特定的节点子集的引用,selectnodes方法返回一个 ixmldomnodelist对象。在cmdload_click事件代码后添加下列代码: |
| dim flightnodes as ixmldomnodelist |
| set flightnodes = root.selectnodes(“航班") |
| for each node in flightnodes |
| debug.print node.selectsinglenode |
本文关键:vb xml ibeyond.org
本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)