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文件有四种经典的方法.基本的解析方式有两种 ...
随机推荐
- Android(java)学习笔记205:JNI之编写jni程序适配所有处理器型号
1. 还是以"02_两个数相加"为例,你会发现这个jni程序只能在ARM处理器下运行,如下: 如果我们让上面的程序运行在x86模拟器上,处理平台不对应,报如下错误: 03-29 ...
- C# 绘图三种方式
如果你想在窗体上进行绘画.通常会使用以下方法. 方法1,利用控件或窗体的paint事件中的painEventArgs private void form1_Paint(object sender, P ...
- jmeter插件之PerfMon
PerfMon是jmeter监控系统资源的一款插件,可以用来监控系统的CPU/内存/IO等性能指标. 一.要准备好的插件:JMeterPlugins-Standard-1.4.0(pwd:cjqd)或 ...
- 浅谈GFC
Web页面的布局,我们常见的主要有“浮动布局(float)”.“定位布局(position)”.“行内块布局(inline-block)”.“CSS3的多栏布局(Columns)”.“伸缩布局(Fle ...
- checkbox prop无效问题
因为bootstrap插件问题,需要先获取input的上级元素,然后添加checked $("input[name='checkInput']").parent().addClas ...
- 2019西安多校联训 Day1
试题链接:http://www.accoders.com/contest.php?cid=1893 考试密码请私信; T1 明明就是O(n)的模拟,强行打成二分QAQ 思路:判断收尾是否为1或 ...
- scp 上传文件自动录入密码
--- 服务器IP地址 des_host=serverIp 服务器存储路径(文件上传后存储指定目录下) des_direc=/home/lk/ 服务器用户密码 des_pass=root_passwo ...
- 洛谷——P2801 教主的魔法(线段树or分块)
P2801 教主的魔法 (1) 若第一个字母为“M”,则紧接着有三个数字L.R.W.表示对闭区间 [L, R] 内所有英雄的身高加上W. (2) 若第一个字母为“A”,则紧接着有三个数字L.R.C.询 ...
- C#创建excel并释放资源
using System; using Microsoft.Office.Interop.Excel; using Excel = Microsoft.Office.Interop.Excel; us ...
- importdata-- matlab
source file: test.dat *************************** Day1 Day2 Day3 Day4 Day5 Day6 Day795.01 76.2 ...