重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
使用DataSet类来完成这项任务。
成都创新互联公司长期为近千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为内蒙古企业提供专业的成都网站设计、网站建设,内蒙古网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。
DataSet对象在传输时,是以XML流的形式而不是以COM形式传输的。DataSet对象可以读取XML数据文件或者数据流,从而将树型结构的XML数据转换成关系型的数据,如表(DataTable)、列(DataColumn)、行(DataRow)等。
在这个实例中,我们将XML文件命名为“xmlfile.xml”,具体内容如下:
?xml version=\"1.0\"standalone=”yes”?
Detail
Person
NameManish/Name
Age22/Age
/Person
/Detail \'用VB.NET读写XML文件
C1aSS WriteXML
Shared Sub main()
Dim obj DataSet As New System.Data.DataSet()
Dim strVirtualPath As String=”t.xml”
\'载入XML文件DataSet
objDataSet.ReadXml(”xmlfile.xml”)
\'通过控制器读取XML内容
Console.Write(objDataSet.GetXml)
\'从原XML文件中得到数据
ConSOle.Write(”Enter Name:”)
Dim fname,age As String
fname=ConS01e.ReadLine
\'写入你希望的代码
ConS01e.Write(”Enter Age:”)
age=Console.ReadLine
ConS0le.Write(fname&age)
Dim v(1)As String
v(0)=fname
V(1)=age
\'增加数据DataSet
objDataSet.Tables(0).Rows.Add(V)
\'更新XML文件
objDataSet.WriteXml(”xmlfile.xml”)
Console.Write(obj DataSet.GetXml)
End Sub
End C1ass
运行该程序有两种方式,一种是在Microso~VS.NET框架中编译完后运行;另一种则是在仿DOS的Command窗口中运行。在第一种方式中,必须加上System、System.Data、System.xML的引用。具体方法为:先创建一个空的项目,然后加入这个文件名字;在“解决方案资源管理器”中加入引用,此时需要选择相应的.dll文件;注意,xmlfile.xml文件应该放在工程的/bin目录下面。我们可以输出结果也可以用浏览器直接查看改变后的XML文件。在第二种方式中,选择桌面的“程序”一“Microso~Visual Studio.NET”一“VisualStudio.NET工具”一“Visual Studio.NET命令提示”命令,在DOS命令提示框敲入命令:[Page]
vbc/r:system.d11/r:system.data.d11/r:system.xml.d11 xml.vb其中,程序名为xml.vb,这里的3个.dll文件都是必须调用的库文件。应该在存放VB.NET文件的目录中运行上述命令,否则找不到相应的程序,当然设置PATH也可以做到。此外,Xml_vb文件应该和XML文件放在同一目录下面。每次运行此程序都会往文件中写进同样的内容,都是写入Person/,运行一次写一行。其实,我们只要稍微修改一下这个程序,就可以往XML中写入我们所需要的数据。
Dim xmlDoc As New System.Xml.XmlDocument
xmlDoc.Load("c:\xml.xml") '载入xml文件
Dim Items As Xml.XmlNodeList = xmlDoc.DocumentElement.SelectNodes("//record/item") '参数为xpath查询串,前面斜杠,//:表示任何结点,/:表示根结点
For Each s As Xml.XmlNode In Items
Console.WriteLine(s.Attributes.GetNamedItem("id").Value vbTab s.InnerText)
Next
有两种办法。
方法一、创建一个 MSXML2.DOMDocument 对象,把这个文件Load进来,按照教科书上的步骤处理。这个对象名并非唯一,依据你电脑上的MSXML版本而定。你在引用中查一下。
方法二、将这个文件当做一个普通的文本文件来处理。将它完整的读入到一个字符串中,依据节点名用Split()函数将它分段,提取所需的内容。
两种方法都不复杂,尝试一下吧。
将下面的代码,放在Button1的Click事件里
textbox1.Text = System.IO.File.ReadAllText("c:\1.xml", System.Text.Encoding.Default)
先读取节点Match,然后读取节点内的各个属性值。 再进行节点中的子节点SetSetName的读取,读取方式也是直接读取各个属性值。