vb.net与xml的简单介绍( 二 )


elementCount += 1
While reader.MoveToNextAttribute()
Format (reader, "Attribute")
end While
if (reader.HasAttributes)
attributeCount += reader.AttributeCount
end if
case XmlNodeType.Text:
Format (reader, "Text")
textCount += 1
case XmlNodeType.Whitespace:
whitespaceCount += 1
End Select
End While
' 显示该文件的统计信息
Console.WriteLine ()
Console.WriteLine("{0} 文件的统计信息", filename)
Console.WriteLine ()
Console.WriteLine("处理指令vb.net与xml:"piCount)
Console.WriteLine("文档类型vb.net与xml:"docCount)
Console.WriteLine("注释:"commentCount)
Console.WriteLine("元素:"elementCount)
Console.WriteLine("属性:"attributeCount)
Console.WriteLine("文本:"textCount)
Console.WriteLine("空白:"whitespaceCount)
End Sub
private shared Sub Format(byref reader as XmlTextReader , NodeType as String)
' 格式化输出
Console.Write(reader.Depth" ")
Console.Write(reader.AttributeCount" ")
Dim i as Integer
for i = 0 to reader.Depth - 1
Console.Write(Strings.chr(9))
Next
Console.Write(reader.PrefixNodeType""reader.Name""reader.Value)
Console.WriteLine()
End Sub
End Class
End Namespace
参考:
VB.net 读取 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查询串vb.net与xml,前面斜杠vb.net与xml,//:表示任何结点,/vb.net与xml:表示根结点
For Each s As Xml.XmlNode In Items
Console.WriteLine(s.Attributes.GetNamedItem("id").ValuevbTabs.InnerText)
Next
使用vb.net如何读取XML文件使用DataSet类来完成这项任务 。
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]

推荐阅读