VB读取XML节点值示例

VB 里搞 XML 的操作,最常见的就是读取节点值了。这个实例就挺实用的,尤其是你不想用什么外部 XML 库,只靠自带的文件流对象也能把基本的节点值搞出来。逻辑也不复杂,遍历一行一行的 XML 文本,抓取你需要的内容,丢进字典里保存。适合想快速撸个小工具的场景。

TextStream 方式读取 XML的思路其实挺:XML 本质上就是结构化的文本嘛,用FileStreamStreamReader,你可以一行一行地读,把节点头、尾找出来,拿到中间的值。这个例子就封装了一个小类XMLReader来这些逻辑。

构造函数New接收文件路径,初始化好流对象后,就能开始干活了。重点在ReadNodeValues方法,按行解析文本,如果遇到带=的行就拆成键值对存到Dictionary里,其他的就当成节点内容累加进去。代码不长,也比较直观:

Public Function ReadNodeValues() As Dictionary(Of String, String)
  Dim nodeValues As New Dictionary(Of String, String)
  ' ... 逐行解析,填入字典 ...
  Return nodeValues
End Function

但有一点得提醒你:这种方式适合结构简单的 XML,比如没有嵌套、标签对比较整齐的那种。要是你碰上复杂结构或带命名空间的,那就不太行了。建议直接用System.Xml里的XmlDocument或者XDocument,更靠谱也更灵活。

如果你是新手,想先搞明白 XML 的读取原理,这段代码还挺适合上手练练。如果你是要搞正式项目,嗯,还是乖乖用System.Xml吧,容错高、安全性也更好。

另外你要是对XmlDocument解析感兴趣,可以看看这篇C#的 XML 解析,思路差不多,也有实际用法参考。

rar 文件大小:15.13KB