-
vb.net 教程 4-10 XML文件操作 4-2
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
主窗体的代码:
需要引用的类:
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 教程 目录
————————————————
版权声明:本文为CSDN博主「VB.Net」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/uruseibest/article/details/79028218
最新更新
python爬虫及其可视化
使用python爬取豆瓣电影短评评论内容
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比