C# XML添加删除/SelectNodes/xpath
SelectNodes中的XPath
//从当前节点的儿子节点中选择名称为 item 的节点。
SelectNodes("item")//从根节点的儿子节点中选择名称为 item 的节点。
SelectNodes("/item")// 从任意位置的节点上选择名称为 item 的节点。要重点突出这个任意位置,它不受当前节点的影响,也就是说假如当前节点是在第 100 层(有点夸张),也可以选择第一层的名称为 item 的节点。
SelectNodes("//item")// 在 SelectNodes("//item") 的基础上,增加了一个限制,就是要求拥有 name 属性。
SelectNodes("//item[@name]")// 在 SelectNodes("//item[@name]") 的基础上,增加了一个限制,就是要求 name 属性值为 111。注意语法中有引号;如果没有引号,则表示是数字类型,对于数字类型可以使用大于号、小于号等,比如:SelectNodes("//item[@v>333]")。
SelectNodes("//item[@name='111']")//*******进阶版**************
// 模糊匹配
// 使用contains, 表示label属性内容包含caseSuite变量内容
string xpathStr = string.Format(@"//TestSuite[contains(@label,'{0}')]", caseSuite);
XmlNodeList removeSuiteInfoList = suiteListNode.SelectNodes(xpathStr);// 可以逻辑运算
/Root//Person[contains(Blog,'cn') and contains(@ID,'01')]
SelectNodes
如果xml里没有“xxx”节点,nodeList.Count会返回0,而不是null或error
XmlDocument xmlDocument = new XmlDocument();xmlDocument.Load(@"test.xml");XmlNodeList nodeList = xmlDocument.SelectNodes(@"//UnitTest/XXX");Console.WriteLine(nodeList.Count.ToString());Console.ReadKey();
xml文件创建与保存
XmlDocument planDoc = new XmlDocument();planDoc.AppendChild(planDoc.CreateXmlDeclaration("1.0", "UTF-8", null));//创建根目录
XmlElement planRoot = planDoc.CreateElement(PlanSuiteList);//保存至PlanFullName
planDoc.Save(PlanFullName);
创建节点以及添加属性
//创建节点
XmlElement memberTestSuite = planDoc.CreateElement(TestSuite);
//设置属性
memberTestSuite.SetAttribute(EachFlowLabel, label);//创建子节点
XmlElement childName = planDoc.CreateElement(EachFlowName);
childName.InnerText = suiteName;//子节点添加memberTestSuite.AppendChild(childName);//添加到根节点
planRoot.AppendChild(memberTestSuite);//根节点添加到xml文件planDoc.AppendChild(planRoot);// xmlnode 添加节点
XmlNode projectInfoNode = projectInfoDocument.SelectSingleNode(@"//ProjectInfo");
XmlElement newNodeElement = projectInfoDocument.CreateElement(nodeName);
newNodeElement.InnerText= testerNode.InnerText;projectInfoNode.AppendChild(newNodeElement);
删除节点
//删除子节点
XmlNode suiteListNode = planDocument.SelectSingleNode(@"//PlanSuiteList");suiteListNode.RemoveChild(suiteNode);
参考:https://blog.csdn.net/nnn_net/article/details/69584358
C# XML添加删除/SelectNodes/xpath相关推荐
- 加载XML 添加删除节点
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.X ...
- c# xml添加 删除 修改数据
//首先添加一个xml文件,一定要先手动添加一个根结点,否则程序找不到根结点 //<user></user> using System; using System.Data; ...
- Dom4j 解析Xml文档及 XPath查询 学习笔记
2019独角兽企业重金招聘Python工程师标准>>> 本文查阅方法: 1.查阅目录 -- 查阅本文目录,确定想要查阅的目录标题 2.快捷"查找" ...
- 使用XML、XSLT和XPath创建可排序、分页、重用的数据显示页
在Web开发中,我们经常会遇到分页显示和排序数据记录集的情况,这在服务器端使用服务器端的代码和数据库技术是件很轻松的事情,比如:ASP.PHP.JSP等.然而,如果要在客户端显示多条记录并且排序是一件 ...
- (转)使用XML、XSLT和XPath创建可排序、分页、重用的数据显示页
在Web开发中,我们经常会遇到分页显示和排序数据记录集的情况,这在服务器端使用服务器端的代码和数据库技术是件很轻松的事情,比如:ASP.PHP.JSP等.然而,如果要在客户端显示多条记录并且排序是一件 ...
- 使用XML、XSLT和XPath创建可排序、分页、重用的数据显示页面[转载]
在Web开发中,我们经常会遇到分页显示和排序数据记录集的情况,这在服务器端使用服务器端的代码和数据库技术是件很轻松的事情,比如:ASP.PHP.JSP等.然而,如果要在客户端显示多条记录并且排序是一件 ...
- 使用XML、XSLT和XPath创建可排序、分页、重用的数据显示页面
使用XML.XSLT和XPath创建可排序.分页.重用的数据显示页面 在Web开发中,我们经常会遇到分页显示和排序数据记录集的情况,这在服务器端使用服务器端的代码和数据库技术是件很轻松的事情,比如:A ...
- Java dom4j如何获取,添加,删除,查找,设置Element属性呢?
转自: Java dom4j如何获取,添加,删除,查找,设置Element属性呢? 下文讲述dom4j操作Element属性的方法分享,如下所示: 取得某节点下的某属性 Element root=do ...
- Java如何使用dom4j获取,添加,删除,查找,设置Element节点呢?
转自: Java如何使用dom4j获取,添加,删除,查找,设置Element节点呢? 下文笔者讲述DOM4J操作Element节点的示例分享,如下所示 获取文档的根节点 Element rootElm ...
最新文章
- 《预训练周刊》第17期:深度迁移学习与数据增强改善2型糖尿病预测、钢琴补谱应用...
- 【深度学习篇】--Windows 64下tensorflow-gpu安装到应用
- Linux 终端下颜色的输出
- Shell脚本攻略01-简介/终端打印
- 使用Log Explorer恢复数据
- Docker将镜像上传至私有仓库
- 网摘--2014年5月12日
- java 数组赋值_自学JAVA每日记录(10)-欢迎指点欢迎共勉
- C语言小知识---奇葩的小数
- Linux简单基本命令
- ios libfdk-aac encode
- 突然发现到今天已经很难找到对底层理解这么透彻的人
- 20200615每日一句
- UFS Write Booster Feature Overview
- 米家有品这么多好东西哪些值得我们关注
- python查看某个函数方法具体有哪些参数怎么做
- Hibernate5
- 内部基因决定拼购品质,苏宁拼购或将成为行业发展新标杆
- CS全球排名44,复旦计科实力如何?
- window11安装JDK1.8【jdk-8u121】