您的位置:首页 > 编程语言 > VB

vb.net 教程 4-10 XML文件操作 4-2

2018-01-10 20:55 375 查看
主窗体的代码:

需要引用的类:

Imports System.Threading
Imports System.Xml
Imports System.IO
Imports System.Net


窗体级变量:

Dim xmlfile As String	'保存地址的xml文件
Dim pingTime As Integer     'ping超时时间,毫秒,默认为500
Dim threadCheck As Thread   '检测线程
Dim blStopCheck As Boolean  '是否停止检测标记


窗体载入时,载入xml文件中的数据,并显示在ListView控件:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.CheckForIllegalCrossThreadCalls = False   ‘设置允许窗体和多线程交互

xmlfile = Application.StartupPath.TrimEnd("\") & "\linked.dat"
pingTime = 500             ’设置Ping超时时间

Call localInfo()

'载入xml中的数据
If loadXmlData() = False Then
Exit Sub
End If
btnStart.Enabled = True
btnDel.Enabled = True

comTime.Text = comTime.Items(2).ToString
End Sub

获取当前网络状态等信息,并显示到状态栏中:

Private Sub localInfo()
Dim info As String = ""
If My.Computer.Network.IsAvailable Then
info = "网络连接中"
Dim localname As String
localname = System.Net.Dns.GetHostName
Dim localips() As IPAddress
localips = System.Net.Dns.GetHostByName(localname).AddressList
Dim localip As String
If localips.Length > 0 Then
localip = localips(0).ToString
Else
localip = ""
End If
info &= ",IP地址:" & localip
Else
info = "网络不可用"
End If

Dim strAuthor As String = "程序设计:http://blog.csdn.net/uruseibest"
info = strAuthor & "     " & info
tsslInfo.Text = info
End Sub

载入XML中的数据并在ListView中显示:

Private Function loadXmlData() As Boolean

'文件不存在
If File.Exists(xmlfile) = False Then
'创建文件
Call createDatafile()
End If
Dim xd As New XmlDocument()
Try
xd.Load(xmlfile)
Dim addrNodes As XmlNodeList
addrNodes = xd.SelectNodes("//addrdata/addrlist")
Dim i As Integer = 0
Dim addrname As String = ""
Dim addrinfo As String = ""
Dim addrtype As String = ""
If addrNodes.Count > 0 Then
For Each addrNode As XmlNode In addrNodes
i += 1
Dim addrNodeInfos As XmlNodeList
addrNodeInfos = addrNode.ChildNodes

addrname = addrNodeInfos(0).InnerText
addrinfo = addrNodeInfos(1).InnerText
addrtype = addrNodeInfos(2).InnerText

Dim lvAddrInfo As New ListViewItem()
lvAddrInfo.Text = i
lvAddrInfo.SubItems.Add(addrname)
lvAddrInfo.SubItems.Add(addrtype)
lvAddrInfo.SubItems.Add(addrinfo)
lvAddrInfo.SubItems.Add("等待")
lvAddrInfo.SubItems.Add("")
lvCheck.Items.Add(lvAddrInfo)

Next
End If

Catch ex As Exception
Return False
End Try
Return True
End Function


注意,当xml文件不存在的时候,创建一个没有数据的xml文件:

Private Sub createDatafile()
Dim strXmlDefault() As String
ReDim strXmlDefault(2)
strXmlDefault(0) = "<?xml version=""1.0"" encoding=""utf-8""?>"
strXmlDefault(1) = "<addrdata>"
strXmlDefault(2) = "</addrdata>"
File.WriteAllLines(xmlfile, strXmlDefault)
End Sub


由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。

学习更多vb.net知识,请参看vb.net
教程 目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: