• 转:XML的几种读取,修改方式(VB.NET)


    1,读取XML 
    Imports System.Xml
    Imports System.Web.HttpContext
      Public Sub getPro()
            Dim FilePath As String = Current.Server.MapPath("define_auth.xml")
            Dim re As XmlTextReader = New XmlTextReader(FilePath)
            Dim name As String
            Try
                While re.Read
                    Select Case re.NodeType
                        Case XmlNodeType.Element
                            name = re.Name
                        Case XmlNodeType.Text
                            setProperty(name, re.Value)
                    End Select
                End While
            Catch ex As Exception
                Throw ex
            End Try
        End Sub
        'name      :XML Node的名字
        'Nodetext  :XML Node的值
        Private Sub setProperty(ByVal NodeName As String, ByVal NodeValue As String)
            Select Case NodeName
                Case "provider"
                    sqlProvider = NodeValue
                Case "connectionstring"
                    connectionStr = NodeValue
            End Select
        End Sub

    2,下面是转载别人的部分,重写成了VB.NET
        Dim xmldoc As XmlDocument 
        Dim xmlnode As xmlnode 
        Dim xmlelem As XmlElement
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            xmldoc = New XmlDocument
            '日本语<?xml version="1.0" encoding="shift_jis"?>
            Dim xmldecl As XmlDeclaration
            xmldecl = xmldoc.CreateXmlDeclaration("1.0", "shift_jis", String.Empty)
            xmldoc.AppendChild(xmldecl)
            'add a new root element
            xmlelem = xmldoc.CreateElement("", "Employees", "")
            xmldoc.AppendChild(xmlelem)
            'add other elements
            Dim i As New Integer
            For i = 1 To 3
                Dim root As XmlNode = xmldoc.SelectSingleNode("Employees") 'search <Employees>
                Dim xe1 As XmlElement = xmldoc.CreateElement("Node") 'create <Node>
                xe1.SetAttribute("genre", "Liu")
                xe1.SetAttribute("ISBN", "2-3631-4")
                Dim xesub1 As XmlElement = xmldoc.CreateElement("title")
                xesub1.InnerText = "Book1"
                xe1.AppendChild(xesub1) 'add to <node>
                Dim xesub2 As XmlElement = xmldoc.CreateElement("author")
                xesub2.InnerText = "Hou"
                xe1.AppendChild(xesub2)
                Dim xesub3 As XmlElement = xmldoc.CreateElement("price")
                xesub3.InnerText = "58.3"
                xe1.AppendChild(xesub3)
                root.AppendChild(xe1) 'add to <Employees>
            Next
            xmldoc.Save(Server.MapPath("data.xml"))
        End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            Dim xmlWriter As XmlTextWriter
            Dim strFilename As String = Server.MapPath("data1.xml")
            xmlWriter = New XmlTextWriter(strFilename, System.Text.Encoding.Default)
            xmlWriter.Formatting = Formatting.Indented
            xmlWriter.WriteStartDocument()
            xmlWriter.WriteStartElement("Employees")
            xmlWriter.WriteStartElement("Node")
            xmlWriter.WriteAttributeString("genre", "Li")
            xmlWriter.WriteAttributeString("ISBN", "2-3631-4")
            xmlWriter.WriteStartElement("title")
            xmlWriter.WriteString("Book2")
            xmlWriter.WriteEndElement()
            xmlWriter.WriteStartElement("author")
            xmlWriter.WriteString("Jia")
            xmlWriter.WriteEndElement()
            xmlWriter.WriteStartElement("price")
            xmlWriter.WriteString("58.3")
            xmlWriter.WriteEndElement()
            xmlWriter.WriteEndElement()
            xmlWriter.Close()
        End Sub

        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
            Dim xmlDoc As XmlDocument = New XmlDocument
            xmlDoc.Load(Server.MapPath("data.xml"))
            Dim root As XmlNode = xmlDoc.SelectSingleNode("Employees")
            Dim xe1 As XmlElement = xmlDoc.CreateElement("Node")
            xe1.SetAttribute("genre", "張さん")
            xe1.SetAttribute("ISBN", "1-1111-1")
            Dim xesub1 As XmlElement = xmlDoc.CreateElement("title")
            xesub1.InnerText = "New Book"
            xe1.AppendChild(xesub1)
            Dim xesub2 As XmlElement = xmlDoc.CreateElement("author")
            xesub2.InnerText = "H"
            xe1.AppendChild(xesub2)
            Dim xesub3 As XmlElement = xmlDoc.CreateElement("price")
            xesub3.InnerText = "158.3"
            xe1.AppendChild(xesub3)
            root.AppendChild(xe1)
            xmlDoc.Save(Server.MapPath("data.xml"))

        End Sub

        Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
            Dim xmldoc As New XmlDocument
            xmldoc.Load(Server.MapPath("data.xml"))
            Dim nodeList As XmlNodeList = xmldoc.SelectSingleNode("Employees").ChildNodes
            For Each xn As XmlNode In nodeList
                Dim xe As XmlElement
                xe = xn
                'xe =  (XmlElement)xn
                If xe.GetAttribute("genre") = "張さん" Then
                    xe.SetAttribute("genre", "update張さん")

                    Dim nls As XmlNodeList = xe.ChildNodes
                    For Each xn1 As XmlNode In nls
                        Dim xe2 As XmlElement
                        xe2 = xn1
                        'xe2 =(XmlElement)xn1
                        If xe2.Name = "author" Then
                            xe2.InnerText = "量"
                        End If
                    Next
                End If
            Next
            xmldoc.Save(Server.MapPath("data.xml"))
        End Sub

        Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
            Dim xmldoc As XmlDocument = New XmlDocument
            xmldoc.Load(Server.MapPath("data.xml"))
            Dim nodeList As XmlNodeList = xmldoc.SelectSingleNode("Employees").ChildNodes
            For Each xn As XmlNode In nodeList
                Dim xe As XmlElement
                xe = xn
                xe.SetAttribute("test", "111111")
                Dim xesub As XmlElement = xmldoc.CreateElement("flag")
                xesub.InnerText = "1"
                xe.AppendChild(xesub)
            Next
            xmldoc.Save(Server.MapPath("data.xml"))
        End Sub

        Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
            Dim xmldoc As XmlDocument = New XmlDocument
            xmldoc.Load(Server.MapPath("data.xml"))
            Dim xnl As XmlNodeList = xmldoc.SelectSingleNode("Employees").ChildNodes
            For Each xn As XmlNode In xnl
                Dim xe As XmlElement
                xe = xn
                xe.RemoveAttribute("genre")
                Dim nls As XmlNodeList = xe.ChildNodes
                For Each xn1 As XmlNode In nls
                    Dim xe2 As XmlElement
                    xe2 = xn1
                    If xe2.Name = "flag" Then
                        xe.RemoveChild(xe2)
                    End If
                Next
            Next
            xmldoc.Save(Server.MapPath("data.xml"))
        End Sub

        Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
            Dim xmlDoc As XmlDocument = New XmlDocument
            xmlDoc.Load(Server.MapPath("data.xml"))
            Dim root As XmlNode = xmlDoc.SelectSingleNode("Employees")
            Dim xnl As XmlNodeList = xmlDoc.SelectSingleNode("Employees").ChildNodes
            Dim i As Integer
            For i = 0 To i < xnl.Count
                Dim xe As XmlElement
                xe = xnl.Item( i )
                If xe.GetAttribute("genre") = "張さん" Then
                    root.RemoveChild(xe)
                    If i < xnl.Count Then i = i - 1
                End If
            Next
            xmlDoc.Save(Server.MapPath("data.xml"))
        End Sub

        Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
            Dim myFile As System.IO.StreamReader = _
            New System.IO.StreamReader(Server.MapPath("data.xml"), System.Text.Encoding.Default)
            'Attention System.Text.Encoding.Default
            Dim myString As String = myFile.ReadToEnd() 'myString was read
            myFile.Close()
        End Sub


    摘自http://www.cnblogs.com/Ronin/archive/2005/09/13/236006.html

  • 相关阅读:
    文字超出2行显示省略号
    js调试工具console方法详解
    下厨如有神
    画地为牢——广州经济困局
    数字桩和记忆术
    想象力提高记忆能力的重要能力
    三元色
    轻松自我介绍三步走——曼陀罗思考法
    英语单词_巩固方法草稿A
    http、TCP/IP协议与socket之间的区别
  • 原文地址:https://www.cnblogs.com/skyapplezhao/p/1206408.html
Copyright © 2020-2023  润新知