在VB .net环境下,如何读取XML文件源代码及解析
来源:互联网 发布:linux的文件系统类型 编辑:程序博客网 时间:2024/04/30 16:47
现在XML文件的应用已经非常广泛,几乎在程序编写得过程中,都会遇到XML文件读取和写入的问题,在.net环境中,MS已经提供了非常完善的类来处理XML文件,如果没有特别大的不同,使用这个自带的类就可以完成我们一般的XML文件的读写工作。
下面我通过一个实际的例子来说明这个类的具体用法:
我们假设有如下格式的XML文件需要进行读写
<book genre="autobiography" publicationdate="1967" ISBN="0-201-63361-2">
<title>The Autobiography of Benjamin Franklin</title>
<author>
<first-name>Benjamin</first-name>
<last-name>Franklin</last-name>
</author>
</book>
我们首先来实现写XML文件的部分
我们来进行分析一下:
上面的XML文件中<book></book>部分是第一个节点我们将它当作一个Element来进行处理,<title></title>部分也可以当作一个节点也可以使用Element来进行处理,同理<author><first-name><last-name>部分都可以这样处理。而在<title></title>之间的文字我们可以把它看成一个值,就可以使用普通的string来进行处理,同理<first-name><last-name>部分也可以这样处理,现在就只剩下genre/ publicationdate /ISBN部分的分析,他们是在节点的头上出现的,用来描述这个节点的比较重要的属性的,可以把它当作对节点的说明性文字,这样我们就可以使用Attribute来描述。
通过以上的分析,我们就可以实现了这个Writer类,具体的实现如下:
Dim writer As XmlTextWriter = Nothing
Dim m_Document As String = "c:/sampledata.xml"
writer = New XmlTextWriter(m_Document, Nothing)
writer.Formatting = Formatting.Indented
writer.Indentation = 4
writer.WriteStartElement("book")
writer.WriteAttributeString("genre", "autobiography")
writer.WriteAttributeString("publicationdate", "1967")
writer.WriteAttributeString("ISBN", "0-201-63361-2")
writer.WriteStartElement("title")
writer.WriteString("The Autobiography of Benjamin Franklin")
writer.WriteEndElement()
writer.WriteStartElement("author")
writer.WriteStartElement("first-name")
writer.WriteString("Benjamin")
writer.WriteEndElement()
writer.WriteStartElement("last-name")
writer.WriteString("Franklin")
writer.WriteEndElement()
writer.WriteEndElement()
writer.WriteEndElement()
writer.Flush()
writer.Close()
这个实现的最后的Close是非常重要,它关闭了Writer对象,同时也就将对象中的数据写道了磁盘上。
好的,我们已经可以实现了写XML文件。接下来,我们需要将我们刚才写得XML文件读出来,并且能够显示其中的各个节点和Attribute。
Dim reader As New XmlTextReader("c:/sampledata.xml")
While (reader.Read())
If (reader.IsStartElement()) Then
Console.WriteLine(reader.LocalName)
Console.WriteLine(reader.GetAttribute("genre"))
Console.WriteLine(reader.GetAttribute("publicationdate"))
Console.WriteLine(reader.GetAttribute("ISBN"))
Dim doc As New XmlDocument
doc.Load(reader)
Dim xmlnode As XmlNode = doc.SelectSingleNode("book").Item("title")
Console.WriteLine(xmlnode.Name)
Console.WriteLine(xmlnode.InnerText)
xmlnode = doc.SelectSingleNode("book").Item("author")
Dim xmlnode1 As XmlNode = xmlnode.Item("first-name")
Console.WriteLine(xmlnode1.Name)
Console.WriteLine(xmlnode1.InnerText)
Dim xmlnode2 As XmlNode = xmlnode.Item("last-name")
Console.WriteLine(xmlnode2.Name)
Console.WriteLine(xmlnode2.InnerText)
End If
End While
按照这个方法就可以将所有的数据读出来,如果修改数据的话,可以参照读取的方法进行。
参考文档 MSDN 2003
实现环境:中文 XP SP2
VS2003
FrameWork 1.1
- 在VB .net环境下,如何读取XML文件源代码及解析
- 如何在VC环境下编写程序读取XML文件
- 如何在VC环境下编写程序读取XML文件
- VB.NET读取 XML文件
- [VB.NET]vb.net如何读取数据库生成指定格式的xml文件
- vb.net读取多层xml文件代码
- vb.net读取任意xml文件
- 使用vb.net读取xml文件
- VB.NET 读取写入XML文件
- VB.NET 读取写入XML文件
- 在Java中如何读取xml文件---DOM解析
- [VB.NET]如何在SQL2005和ADO环境下写入大于1GB的文件进入某一字段
- vb 读取xml文件
- VB读取XML文件
- VB.NET读取文件
- vb.net读取xml文件中的节点内容
- 如何用VB.net快速读取较大的xml文件
- VB.NET 从XML文件中读取内容到JSON
- 明天继续RTC
- 中国教育中的0分作文
- 很高兴,看到csdn的blog在维护
- Struts应用的国际化
- 20世纪10个最伟大的算法
- 在VB .net环境下,如何读取XML文件源代码及解析
- 特殊字体的妙用
- 我有用心读过且有收获的书,原来我是这样成长的。
- 比赛日
- 轰轰烈烈的恋爱
- 很忙啊!~~~~~~
- ECO的“Handle”和“Handle链”
- 爱
- 最小化、最大化、关闭窗口