XPath Nodes
教程
https://www.w3schools.com/xml/xpath_nodes.asp
节点之间的关系
Parent,Children,Siblings,Ancestors,Descendants
qutoric
最新的online工具 http://www.qutoric.com/xslt/analyser/xpathtool.html
旧版的 http://qutoric.com/sketchpath/xpath-editor.html
visual studio的插件
https://github.com/uli-weltersbach/XPathTools
https://github.com/uli-weltersbach/XPathTools/wiki 使用方法
Copy value-based XPath
https://github.com/uli-weltersbach/XPathTools/wiki/Copying-XPaths#copy-value-based-xpath
在Distinct XPath中新增一个key,这样可以拿到appSettings下面的key/value的xpath
/configuration/appSettings/add[@key='OutputRuleWebPartExecutionTimeElapse']/@key

<add key="OutputRuleWebPartExecutionTimeElapse" value="False" />
将鼠标放在add上面,右键,选择copy xpath,然后找到第三个
得到的路径 /configuration/appSettings/add[@key='OutputRuleWebPartExecutionTimeElapse']
这个node的OuterXml是:<add key="OutputRuleWebPartExecutionTimeElapse" value="False" />
这个node的value是null
将鼠标放在value上面,选择copy xpath,然后找到第三个
得到的路径 /configuration/appSettings/add[@key='OutputRuleWebPartExecutionTimeElapse']/@value
这个node的OuterXml是:value="False"
这个node的value是: False
[Test]
public void XPathTest()
{
var path1 = "/configuration/appSettings/add[@key='OutputRuleWebPartExecutionTimeElapse']";
var path2 = "/configuration/appSettings/add[@key='OutputRuleWebPartExecutionTimeElapse']/@value"; var desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
var fileName = "test.xml";
var filePath = Path.Combine(desktopPath, fileName);
var doc = new XmlDocument();
doc.Load(filePath);
var node1 = doc.SelectSingleNode(path1);
var node2= doc.SelectSingleNode(path2);
Console.WriteLine(node1.OuterXml);
Console.WriteLine(node2.OuterXml);
Console.WriteLine(node2.Value);
}
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="OutputRuleWebPartExecutionTimeElapse" value="False" />
</appSettings>
</configuration>
多种方法,通过C#移除xmlnode
https://stackoverflow.com/questions/6500989/deleting-xml-using-a-selected-xpath-and-a-for-loop
XmlDocument document = new XmlDocument();
document.Load(fileName); XmlNode node = document.SelectSingleNode("Elements/Element1");
node.ParentNode.RemoveChild(node); document.Save(fileName);
Editing XML Data using XPathNavigator
https://docs.microsoft.com/en-us/dotnet/standard/data/xml/editing-xml-data-using-xpathnavigator
XPath Nodes的更多相关文章
- XPath 获取两个node中间的HTML Nodes
XPath 获取两个node中间的HTML Nodes 2015-06-01 16:42 972人阅读 评论(0) 收藏 举报 //div[@id="Recipe"]//h5[co ...
- Selenium Xpath Tutorials - Identifying xpath for element with examples to use in selenium
Xpath in selenium is close to must required. XPath is element locator and you need to provide xpath ...
- XPath、XQuery 以及 XSLT 函数
存取函数 名称 说明 fn:node-name(node) 返回参数节点的节点名称. fn:nilled(node) 返回是否拒绝参数节点的布尔值. fn:data(item.item,...) 接受 ...
- sax xpath读取xml字符串
public static void main(String[] args) throws ParserConfigurationException, SAXException, IOExceptio ...
- Parse xml/json[xpath/jpath]
import groovy.util.XmlSlurper import groovy.util.XmlParser import com.eviware.soapui.support.GroovyU ...
- XQuery的 value() 方法、 exist() 方法 和 nodes() 方法
Xml数据类型 /*------------------------------------------------------------------------------+ #| = : = : ...
- Xpath用法
在进行网页抓取的时候,分析定位html节点是获取抓取信息的关键,目前我用的是lxml模块(用来分析XML文档结构的,当然也能分析html结构), 利用其lxml.html的xpath对html进行分析 ...
- php与xpath使用操作文本节点
<?php $html="<p> 对于2014年,省统计局的统计分析显示,我省消费流通领域受诸多因素的影响,有机遇也有挑战.但值得注意的是,消费增长还存在不少制约因素,比如 ...
- JAVA通过XPath解析XML性能比较(原创)
(转载请标明原文地址) 最近在做一个小项目,使用到XML文件解析技术,通过对该技术的了解和使用,总结了以下内容. 1 XML文件解析的4种方法 通常解析XML文件有四种经典的方法.基本的解析方式有两种 ...
随机推荐
- @ExceptionHandler和@ControllerAdvice统一处理异常
//@ExceptionHandler和@ControllerAdvice统一处理异常//统一处理异常的controller需要放在和普通controller同级的包下,或者在ComponentSca ...
- php第二十六节课
会话购物车 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...
- WIndows 系统下的常用命令 和 检测方法
### 一.检测硬盘速度(Windows 自带工具) #### 使用windows 系统自带的工具测试硬盘读写速度 > 在使用下面命令前,需要获得管理员权限,才会在Dos窗口上显示(否则,一闪而 ...
- HDU_5783_DivideTheSequence
HDU_5783_DivideTheSequence 点击打开链接 题意: 生成尽量多的连续的子串,且子串的前缀和大于等于0,输出符合题意的子串的数量. 这题目是参加四月份的个人训练赛遇到的,挺水的 ...
- 手机端--tap PC端--click
区别: tap为jq mobile 的方法 1.click与tap都会触发点击事件,但是在手机web端,click会有200-300ms的延迟,所以一般用tap代替click作为点击事件.single ...
- 以gnome-terminal为例,修改gnome3 的默认配置
gnome连续几个版本的terminal默认配置文件都是同一个配置文件“b1dcc9dd-5262-4d8d-a863-c897e6d979b9”.这是因为gnome的developers编辑了这个配 ...
- 爬楼梯,N级楼梯有多少种走法?
https://blog.csdn.net/tcpipstack/article/details/45173685 一个人爬楼梯,一步可以迈一级,二级,三级台阶,如果楼梯有N级,要求编写程序,求总共有 ...
- 【模板】51nod 1051 最大子矩阵和
[题解] 二重循环枚举起始列和终止列,竖着往下加,转化为一个最大子段和问题,逐行累加即可. #include<cstdio> #include<cstring> #includ ...
- 调试pcb板子的步骤
在从外边焊回来的板子中查找问题的时候,如果只是简单的 一通乱调,很有可能一下子就调好了,但是大多数的时候是调了半天,不知道接下来该如何进行,因此,严格的按照步骤走,是个不错的想法: 1.拿到板子的第一 ...
- String类的判断功能
/* * Object:是类层级结构中的根类,所有的类都直接或间接的继承自该类. * 如果一个方法的形式参数是Object,那么这里我们就可以传递它的任意的子类对象. * * String类的判断功能 ...