zoukankan      html  css  js  c++  java
  • VB&XML的增删改查

    简介:XML的增删改查

    开发过程中有许多后台操作XML的过程,每次需要操作时都是找很多代码来参考或者百度一下。今天决定补充下XML操作的知识,把XML操作的增删改查都写了一遍,供以后开发参考

    查询:

    Public Sub Read()
            '获取item节点
            Dim xmlNodeList As XmlNodeList = Nothing
            xmlNodeList = XmlDoc.SelectNodes("/root/item")
            '遍历所有的item节点
            Console.WriteLine("遍历item节点")
            For Each xmlNode As XmlNode In xmlNodeList
                Console.WriteLine("item节点的RoomInfo属性读取:{0}", xmlNode.Attributes("RoomInfo").Value)
                Console.WriteLine("item节点的RoomInfo的值读取:{0}", xmlNode.InnerText)
            Next
    
    
            '遍历所有items下的item节点
            Console.WriteLine("遍历items下的item节点")
            xmlNodeList = XmlDoc.SelectNodes("/root/items/item")
            For Each xmlNode As XmlNode In xmlNodeList
                Console.WriteLine("item节点的RoomInfo属性读取:{0}", xmlNode.Attributes("RoomInfo").Value)
                Console.WriteLine("item节点的RoomInfo的值读取:{0}", xmlNode.InnerText)
            Next
    
            '遍历第一个items下的item节点 (第一种方法适用于有id的)
            Console.WriteLine("遍历第一个items下的item节点")
            xmlNodeList = XmlDoc.SelectNodes("/root/items[@id='item1']/item")
            For Each xmlNode As XmlNode In xmlNodeList
                Console.WriteLine("item节点的RoomInfo属性读取:{0}", xmlNode.Attributes("RoomInfo").Value)
                Console.WriteLine("item节点的RoomInfo的值读取:{0}", xmlNode.InnerText)
            Next
    
            '遍历第一个items下的item节点 (第二种方法适用于节点没有特别标识)
            'Console.WriteLine("遍历第一个items下的item节点")
            'xmlNodeList = XmlDoc.SelectNodes("/root/items")
            'Dim xmlNodeList1 As XmlNodeList = xmlNodeList(0).SelectNodes("item")
            'For Each xmlNode As XmlNode In xmlNodeList1
            '    Console.WriteLine("item节点的RoomInfo属性读取:{0}", xmlNode.Attributes("RoomInfo").Value)
            '    Console.WriteLine("item节点的RoomInfo的值读取:{0}", xmlNode.InnerText)
            'Next
    
            '遍历第二个items下的Group下的item节点 
            Console.WriteLine("遍历第二个items下的Group下的item节点")
            xmlNodeList = XmlDoc.SelectNodes("/root/items[@id='item2']/Group[@id='g1']/item")
            For Each xmlNode As XmlNode In xmlNodeList
                Console.WriteLine("item节点的RoomInfo属性读取:{0}", xmlNode.Attributes("RoomInfo").Value)
                Console.WriteLine("item节点的RoomInfo的值读取:{0}", xmlNode.InnerText)
            Next
    
        End Sub

    更新:

    Public Sub Update()
    '修改所有的item节点RoomInfo的属性的值为123
    Console.WriteLine("修改所有的item节点RoomInfo的属性的值为123")
    Dim xmlNodeList As XmlNodeList = Nothing
    xmlNodeList = XmlDoc.SelectNodes("/root/item")
    For Each xmlNode As XmlNode In xmlNodeList
    xmlNode.Attributes("RoomInfo").Value = "123"
    Next
    '修改所有的item节点的值为123
    Console.WriteLine("修改所有的item节点的值为123")
    xmlNodeList = XmlDoc.SelectNodes("/root/item")
    For Each xmlNode As XmlNode In xmlNodeList
    xmlNode.InnerText = "123"
    Next
    Console.WriteLine(XmlDoc.InnerXml)
    End Sub

    删除:

    Public Sub Delete()
    '删除所有的item节点
    Console.WriteLine("删除所有的item节点")
    Dim xmlNodeList As XmlNodeList = Nothing
    xmlNodeList = XmlDoc.SelectNodes("/root/item")
    For Each xmlNode As XmlNode In xmlNodeList
    xmlNode.ParentNode.RemoveChild(xmlNode)
    Next
    '删除所有的items下的子节点
    Console.WriteLine("删除所有的items下的子节点")
    xmlNodeList = XmlDoc.SelectNodes("/root/items")
    For Each xmlNode As XmlNode In xmlNodeList
    xmlNode.RemoveAll()
    'xmlNode.ParentNode.RemoveChild(xmlNode)
    Next
    Console.WriteLine(XmlDoc.InnerXml)
    End Sub


    添加:

    Public Sub Add()
    'item节点添加test=123属性
    Console.WriteLine("item节点添加test=123属性")
    Dim xmlNodeList As XmlNodeList = Nothing
    Dim xmlAttribute As XmlAttribute = Nothing
    xmlNodeList = XmlDoc.SelectNodes("/root/item")
    For Each xmlNode As XmlNode In xmlNodeList
    '属性的名称
    xmlAttribute = XmlDoc.CreateAttribute("test")
    xmlAttribute.Value = "123"
    xmlNode.Attributes.Append(xmlAttribute)
    Next
    'item节点添加子节点<test name="123">
    Console.WriteLine("item节点添加子节点<test name='123'>")
    xmlNodeList = XmlDoc.SelectNodes("/root/item")
    Dim xmlNewNode As XmlElement = Nothing
    For Each xmlNode As XmlNode In xmlNodeList
    xmlNewNode = XmlDoc.CreateElement("test")
    xmlNewNode.SetAttribute("name", "123")
    xmlNewNode.InnerText = "123"
    xmlNode.AppendChild(xmlNewNode)
    Next
    XmlDoc.Save("C:UsersdudjDesktop123.xml")
    Console.WriteLine(XmlDoc.InnerXml)
    End Sub
  • 相关阅读:
    登录验证servlet实现
    IOS开发(68)之捕获点击划屏手势
    jquery实现漂浮在网页右侧的qq在线客服插件
    深切缅怀“5.12”特大地震遇难同胞
    PHP实现微信申请退款流程实例源码
    empty和isset的区别
    ThinkPHP中实现微信支付(jsapi支付)流程
    php中正则表达式详解
    PHP与RBAC设计思路讲解与源码
    一起谈.NET技术,VS2010实践RUP4+1架构模型 狼人:
  • 原文地址:https://www.cnblogs.com/KingUp/p/5741225.html
Copyright © 2011-2022 走看看