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 = ""
Next
'修改所有的item节点的值为123
Console.WriteLine("修改所有的item节点的值为123")
xmlNodeList = XmlDoc.SelectNodes("/root/item")
For Each xmlNode As XmlNode In xmlNodeList
xmlNode.InnerText = ""
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 = ""
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", "")
xmlNewNode.InnerText = ""
xmlNode.AppendChild(xmlNewNode)
Next
XmlDoc.Save("C:\Users\dudj\Desktop\123.xml")
Console.WriteLine(XmlDoc.InnerXml)
End Sub
VB&XML的增删改查的更多相关文章
- 对oracle里面clob字段里面xml的增删改查学习
这段时间,我使用系统表里面有clob字段里面存放的xml信息,我们如何对xml进行增删改查操作呢,自己参考了很多也学到很多,给大家分享一下 首先我们先建测试表 CREATE TABLE EFGP_23 ...
- java实现xml文件增删改查
java一次删除xml多个节点: 方案1.你直接改动了nodeList,这一般在做循环时是不同意直接这么做的. 你能够尝试在遍历一个list时,在循环体同一时候删除list里的内容,你会得到一个异常. ...
- Mybatis之基于XML的增删改查
这里先吐槽下,写的半天的东西,IE浏览器弹出调试窗口导致写的东西全部没保存,搞得我还要重新用谷歌写,思路全没了,fuck. 前面学习了下spring的DAO层,说起DAO层,那ORM肯定是少不了的,O ...
- Mybatis_2.基于XML的增删改查
1.实体类User.java public class User { private int id; private String name; private int age; //getter.se ...
- java中XML操作:xml与string互转、读取XML文档节点及对XML节点增删改查
一.XML和String互转: 使用dom4j程式变得很简单 //字符串转XML String xmlStr = \"......\"; Document document = D ...
- 使用idea对XML的增删改查
XML:是一种可扩展标记性的语言,与java语言无关,它可以自定义标签. 1.首先需要到导入Dom4j架包,与自己所时候的ide关联 2.编写自己的xml文件,入上图所示(里面的所有元素及元素中的属性 ...
- c# xml的增删改查操作 xmlDocument 的用法
1.将xml转换为DataTable string path = "";//xml的位置StringReader sr = null;XmlTextReader xmlReader ...
- .NET XML文件增删改查
查询 采用的是DataSet 的 ReadXML方法. DataSet ds = new System.Data.DataSet(); ds.ReadXml("bdc.xml"); ...
- C# winform xml的增删改查
代码如下: using System; using System.Collections.Generic; using System.IO; using System.Linq; using Syst ...
随机推荐
- 基于python3-sklearn,Flask 的回归预测系统
看到一副图片挺有意思,放在片头 序 "傍晚小街路面上沁出微雨后的湿润,和煦的西风吹来,抬头看看天边的晚霞,嗯明天又是一个好天气.走到水果摊旁,挑了个根蒂蜷缩.敲起来声音浊响的青绿西瓜,一边满 ...
- Java 类和对象12
构造一辆汽车,油箱容量100L,当前里程数0,当前油量0,可以根据道路状况确定油耗,根据行驶速度与行驶时间, 输出当前油量与总里程数. public class Car_1 { // 车牌 priva ...
- SPOJ 694 Distinct Substrings
Distinct Substrings Time Limit: 1000ms Memory Limit: 262144KB This problem will be judged on SPOJ. O ...
- CodeForces 337A Puzzles
Puzzles Time Limit: 1000ms Memory Limit: 262144KB This problem will be judged on CodeForces. Origina ...
- C++归并算法
#include <iostream> using namespace std; void DealWhat(int ar[],int start,int end,int b[]) { i ...
- JAVA爬虫Nutch、WebCollector的正则约束
爬虫爬取时,须要约束爬取的范围. 基本全部的爬虫都是通过正則表達式来完毕这个约束. 最简单的,正则: http://www.xinhuanet.com/.* 代表"http://www.xi ...
- 【android】getCacheDir()、getFilesDir()、getExternalFilesDir()、getExternalCacheDir()的作用
getCacheDir()方法用于获取/data/data/<application package>/cache目录 getFilesDir()方法用于获取/data/data/< ...
- 28. Brackets安装angularjs插件
Brackets是Adobe公司研发的一款开源WEB前端开发框架,界面清爽简约,代码提示功能比较强大,而且支持第三方插件,其提供的插件库中有大量的对Brackets感兴趣的开发人员所开发的插件,使用者 ...
- 分享一下js正则中惰性与贪婪
首先引入一个介绍比较详细的网站 http://www.cnblogs.com/yuaima/p/5258513.html http://www.jb51.net/article/31491.htm 接 ...
- 推荐的JavaScript编码规范
http://www.qdfuns.com/notes/26812/7825414125719306fa409c709ee7b2a3.html