.NET 读取 xml 文件中指定元素/字段/节点数据的简单方法
Posted by Admin L in .NET Programming, Web Programming & Resources on 29-09-2011. Tags: .NET 编程经验
作者:牧山道人
原文地址:https://www.seeksunslowly.com/vb2008-dot-net-read-xml-data-by-element-field-node-name-sc
转载请注明出处,谢谢。
_____________________________________
今天第一次需要在 .NET 中读取 XML 文件内容,通过文件格式观想,感觉应可以直接指定元素(其实也就是字段、节点)名称直接取出,像读取 ini 配置文件一样方便。
但通过搜索 MSDN 示例及网上的资料,发现各位大仙给的方法十分复杂,好多人都去递归遍历了所有节点,再根据节点名称 Select Case……另外有些方法还交叉使用了 System.Xml 命名空间中的若干类……所有种种,让人眼花缭乱,跟“观想”的结果大相径庭。
于是,不得不自己逐个观察 XmlDocument 类型的各个成员,XML 数据格式这么流行,.NET 应该不会没有简单解决方案。
最终,解决问题的关键落在了 XmlDocument 及 XmlElement 的 Item 属性身上,该属性可以跟元素名称参数,返回一个 XmlElement 类型的对象,正好像读取 ini 文件一样解决了问题。
简单的 XML 文件及代码示例如下,诸君若有进阶需求,请自行扩展。
VB2008 代码:
[cc lang=”vbnet”]
Imports System.Xml
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
” 声明并初始化 XmlDocument 对象 xd。
Dim xd As New XmlDocument
xd.Load(“H:\test.xml”)
”
‘ 声明并取得根节点/元素,注意 Item()属性的用法。
Dim xeRoot As XmlElement = xd.Item(“XML_DIZ_INFO”)
‘ 声明 XmlElement 对象 xe,并取得其引用。
Dim xe As XmlElement = xeRoot.Item(“First_Node”)
” 显示第一个节点下各字段/元素数据。
MsgBox(xe.Item(“Element_1_First”).InnerText)
MsgBox(xe.Item(“Element_2_First”).InnerText)
”
” 显示第二个节点下各字段/元素数据。
xe = xeRoot.Item(“Second_Node”)
MsgBox(xe.Item(“Element_1_Second”).InnerText)
MsgBox(xe.Item(“Element_2_Second”).InnerText)
”
End Sub
End Class
[/cc]
是不是非常简单?几乎比读 ini 还要简单(因为主要参数只有一个)。
以下是所引用的 XML 文件 H:\test.xml。
[cc lang=”xml”]
[/cc]
当然,以上方法与思路也可借鉴于您的 Web 程序若其他编程语言。