首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C#:XPath选择包含子字符串属性的节点?

在C#中,要使用XPath选择包含子字符串属性的节点,可以使用contains()函数。以下是一个示例:

代码语言:csharp
复制
using System;
using System.Xml.XPath;

public class Program
{
    public static void Main()
    {
        string xml = @"<root>
                          <item name='apple' />
                          <item name='banana' />
                          <item name='orange' />
                        </root>";

        XPathDocument doc = new XPathDocument(new StringReader(xml));
        XPathNavigator nav = doc.CreateNavigator();

        // 选择包含子字符串属性的节点
        XPathNodeIterator nodes = nav.Select("//item[contains(@name, 'an')]");

        // 输出匹配的节点
        while (nodes.MoveNext())
        {
            Console.WriteLine(nodes.Current.OuterXml);
        }
    }
}

在这个示例中,我们使用XPathDocumentXPathNavigator类来加载和查询XML文档。Select方法使用XPath表达式//item[contains(@name, 'an')]来选择包含子字符串属性的节点。contains函数用于检查属性值是否包含指定的子字符串。

输出结果将包含两个节点:

代码语言:xml
复制
<item name="banana" />
<item name="orange" />

这是因为它们的name属性值包含子字符串an

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

快速获取图根节点属性

@TOC[1] Here's the table of contents: •一、问题背景•二、构建样例多子图数据•三、实现根节点属性查找•四、将图查找GQL封装为一个函数•五、总结 快速获取图根节点属性...已知图查找问题可以使用APOC中过程来实现,apoc.path相关输入输出查询[2];指定节点之后获取节点所属图,然后从子图中提取出ROOT节点属性。...其中指定a节点为ROOT节点节点。...,并返回根节点subname属性' ); RETURN custom.subGraphRootName('e') AS rootSubName; 五、总结 本文通过一个非常简单场景,介绍了一个图分析方法...References [1] TOC: 快速获取图根节点属性 [2] apoc.path相关输入输出查询: https://neo4j.com/labs/apoc/4.3/overview/apoc.path

2.4K10

【Groovy】自定义 Xml 生成器 BuilderSupport ( 构造 Xml 节点类 | 封装节点名称、节点值、节点属性节点 | 将封装节点数据转为 Xml 字符串 )

文章目录 一、构造 Xml 节点类 1、封装节点名称、节点值、节点属性节点 2、将封装节点数据转为 Xml 字符串 二、Xml 节点类完整代码 一、构造 Xml 节点类 ---- 生成 Xml...*/ String value 封装 Map 类型节点属性 : /** * 节点属性 */ Map attributes 封装节点信息 : 每个节点下可能有多个子节点..., 因此该节点是一个 ArrayList 集合 ; /** * 节点 ArrayList 类型 */ def children = [] 2、将封装节点数据转为...> 节点有 2 种情况 , 带属性节点和不带属性节点 , ① 带属性节点 Tom ② 不带属性节点 使用给定...注意 : 此处有 2 种情况 ① 带属性节点 Tom ② 不带属性节点

6.1K30

XML文档节点导航与选择指南

包含200多个内置函数: XPath包含200多个内置函数,可用于处理字符串、数值、布尔值、日期和时间等。...原子值(Atomic Value): 原子值是没有节点或父节点节点。例如,字符串或数字。项目(Item): 项目可以是原子值或节点。...后代节点(Descendant Node): 节点节点节点节点等。XPath语法XPath使用路径表达式在XML文档中选择节点。...attribute: 选择当前节点所有属性。child: 选择当前节点所有节点。descendant: 选择当前节点所有后代(、孙等)。.../child::*/child::price:选择当前节点所有 price 孙子节点XPath运算符XPath表达式返回一个节点集、一个字符串、一个布尔值或一个数字。

7900

XPath知识点梳理

ancestor-or-self 选取当前节点所有先辈(父、祖父等)以及当前节点本身。 attribute 选取当前节点所有属性。 child 选取当前节点所有元素。...当前上下文节点父级。 * 通配符;选择所有元素节点与元素名无关。(不包括文本,注释,指令等节点,如果也要包含这些节点请用node()函数) @ 属性前缀。 @* 选择所有属性,与名称无关。...节点(self轴表示自身,node()表示选择所有节点) /messages/message[1]/node() 第一个message节点所有节点 /messages/message[1]/*[last...//child::node() 递归所有节点(无限深度) //message[position()=1]/node() 选择id=1message节点以及id=0message节点 /messages...)] //message/datetime[@*] //message/datetime[@node()] 选择所有含有属性datetime节点 //attribute::* 选择节点所有属性节点

1.1K40

学会XPath,轻松抓取网页数据

XPath节点是指在XML或HTML文档中被选择元素或属性XPath中有7种类型节点,包括元素节点属性节点、文本节点、命名空间节点、处理指令节点、注释节点以及文档节点(或称为根节点)。...例如,在HTML文档中,元素class、id、src等属性都是属性节点。在XPath中,可以使用@符号来选择属性节点,例如://img/@src表示选择所有元素src属性。...n 是节点位置(从 1 开始计数)//book[last()=1] 选取最后一个元素[contains(string, substring)]选取包含指定子字符串节点。...string 是节点文本内容,substring 是要查找字符串//book[contains(title, 'XML')] 选取标题中包含字符串'XML'元素[starts-with.../price 选取当前节点节点元素@选取属性//book/@id 选取所有元素id属性三、XPath使用示例选择所有名称为title节点://title选择所有名称为

44610

XPath语法_java中path作用

在学习XPath之前你应该对XML节点,元素,属性,原子值(文本),处理指令,注释,根节点(文档节点),命名空间以及对节点关系如:父(Parent),(Children),兄弟(Sibling)...请看一个典型XPath查询表达式:/messages/message//child::node()[@id=0],其中/messages/message是路径(绝对路径以”/”开始),child::是轴表示在节点选择...[@id=0]是谓词,表示选择所有有属性id并且值为0节点。...当前上下文节点父级。 * 通配符;选择所有元素节点与元素名无关。(不包括文本,注释,指令等节点,如果也要包含这些节点请用node()函数) @ 属性前缀。 @* 选择所有属性,与名称无关。...::node()] //message/datetime[@*] //message/datetime[@node()] 选择所有含有属性datetime节点 //attribute::* 选择节点所有属性节点

8.7K20

爬虫入门指南(1):学习爬虫基础知识和技巧

Xpath 语法 XPath基本表达式: # 选择所有名为"book"节点 xpath_expression = "//book" # 选择节点所有名为"title"节点 xpath_expression...Python"名为"title"节点 xpath_expression = "//title[text()='Python']" # 选择属性lang包含"en"名为"book"节点 xpath_expression...[contains(@attribute, 'value')]:选择属性包含特定值节点。 [starts-with(@attribute, 'value')]:选择属性以特定值开始节点。...ancestor-or-self:选择所有祖先节点和当前节点自身。 attribute:选择当前节点属性节点。 child:选择当前节点所有节点。...name():选择节点名称。 concat():连接多个字符串。 contains():判断一个字符串是否包含另一个字符串。 starts-with():判断一个字符串是否以另一个字符串开始。

27910

python3解析库lxml

,它最初是用来搜寻XML文档,但是它同样适用于HTML文档搜索 XPath选择功能十分强大,它提供了非常简明路径选择表达式,另外,它还提供了超过100个内建函数,用于字符串、数值、时间匹配以及节点...选取当前节点节点 @ 选取属性 * 通配符,选择所有元素节点与元素名 @* 选取所有属性 [@attrib] 选取具有给定属性所有元素 [@attrib='value'] 选取给定属性具有给定值所有元素...,可以使用//后面加上节点名称,然后调用xpath()方法 html.xpath('//li') #获取所有子孙节点li节点 (4)获取节点 通过/或者//即可查找元素节点或者子孙节点,如果想选择...li节点所有直接a节点,可以这样使用 result=html.xpath('//li/a') #通过追加/a选择所有li节点所有直接a节点,因为//li用于选中所有li节点,/a用于选中li节点所有直接节点.../xpath_operators.asp (12)按序选择 有时候,我们在选择时候某些属性可能同时匹配多个节点,但我们只想要其中某个节点,如第二个节点或者最后一个节点,这时可以利用中括号引入索引方法获取特定次序节点

88920

Python3解析库lxml

,它最初是用来搜寻XML文档,但是它同样适用于HTML文档搜索 XPath选择功能十分强大,它提供了非常简明路径选择表达式,另外,它还提供了超过100个内建函数,用于字符串、数值、时间匹配以及节点...选取当前节点节点 @ 选取属性 * 通配符,选择所有元素节点与元素名 @* 选取所有属性 [@attrib] 选取具有给定属性所有元素 [@attrib='value'] 选取给定属性具有给定值所有元素...,可以使用//后面加上节点名称,然后调用xpath()方法 html.xpath('//li') #获取所有子孙节点li节点 (4)获取节点 通过/或者//即可查找元素节点或者子孙节点,如果想选择...li节点所有直接a节点,可以这样使用 result=html.xpath('//li/a') #通过追加/a选择所有li节点所有直接a节点,因为//li用于选中所有li节点,/a用于选中li节点所有直接节点.../xpath_operators.asp (12)按序选择 有时候,我们在选择时候某些属性可能同时匹配多个节点,但我们只想要其中某个节点,如第二个节点或者最后一个节点,这时可以利用中括号引入索引方法获取特定次序节点

1.7K40

Python 爬虫网页内容提取工具xpath

Xpath 节点(Node) XPath核心就是节点(Node),定义了7种不同类型节点: 元素(Element)、属性(Attribute)、文本(Text)、命名空间(Namespace)、.../ 从根节点选取,在路径中间时表示一级路径 // 从当前节点开始选择文档中节点,可以是多级路径 . 从当前节点开始选取 .....//li[@class] 选取根节点名为li且有class属性所有后代。 //li[@class=”item”] 选择节点名为li且class属性为item所有后代。...XPath函数 Xpath函数很多,涉及到错误、数值、字符串、时间等等,然而我们从网页中提取数据时候只会用到很少一部分。其中最重要就是字符串相关函数,比如contains()函数。...contains(a, b) 如果字符串a包含字符串b,则返回true,否则返回false。

3.1K10

网络爬虫 | XPath解析

基规则如下. 选取节点 表达式 描述 nodename 选取此节点所有节点 / 从根节点选取 // 从匹配选择的当前节点选择文档中节点,而不考虑他们位置 . 选取当前节点 .....选取当前节点节点 @ 选取属性 * 选取所有节点 下面为一些路径表达式及表达式结果: 路径表达式 结果 petstore 选取 petstore 元素所有节点 /petstore 选取根元素...//div[contains(@class,"f1")] 选择div属性包含"f1"元素 选取未知节点 XPath 通配符可用来选取未知 XML 元素。 通配符 描述 * 匹配任何元素节点。...html/node()/meta/@* 选择html下面任意节点meta节点所有属性 //title[@*] 选取所有带有属性 title 元素。...contains()方法实现属性多值匹配 contains(指定属性名称, 指定属性值) 如需既获取class=class="main-hd",又要获取class="main"节点时,如果HTML代码中包含指定属性

1.2K20

爬虫0040:数据筛选爬虫处理之结构化数据操作

,中两个是兄弟标签等等 ---- Xpath描述语言常见语法 和正则表达式相比较,Xpath使用最简单语法操作完成数据查询匹配操作 表达式 描述 nodename 选取此节点所有节点.../ 从根节点选取。 // 从匹配选择的当前节点选择文档中节点,而不考虑它们位置。 . 选取当前节点。 .. 选取当前节点节点。 @ 选取属性。 * 匹配任何元素节点。...@* 匹配任何属性节点。 node() 匹配任何类型节点。 通过如下方式直接操作上面的文档 路径表达式 结果 html 选取 html 元素所有节点。 /html 选取根元素 html。...print(e_attr_name) # 查询所有包含name属性,并且name属性值为desc标签 e_v_attr_name = html.xpath("//*[@name='desc']")...# 查询多个p标签下所有文本内容,包含标签中文本内容 p_m_t = html.xpath("//p") for p2 in p_m_t: print(p2.xpath("string(

3.2K10

爬虫系列(8)数据提取--扩展三种方法。

) 先辈(Ancestor) 后代(Descendant) 3.2 选取节点 3.2.1 常用路径表达式 表达式 描述 nodename 选取此节点所有节点 / 从根节点选取 // 从匹配选择的当前节点选择文档中节点...选取当前节点 .. 选取当前节点节点 @ 选取属性 3.2.2 通配符 XPath 通配符可用来选取未知 XML 元素。...通配符 描述 举例 结果 * 匹配任何元素节点 xpath('div/*') 获取div下所有节点 @* 匹配任何属性节点 xpath('div[@*]') 选取所有带属性div节点 node()...节点 3.2.4 谓语 谓语被嵌在方括号内,用来查找某个特定节点包含某个制定节点 表达式 结果 xpath('/body/div[1]') 选取body下第一个div节点 xpath(...可读性高,复杂度低,非常容易匹配,下表中对应了XPath用法 XPath JSONPath 描述 / $ 根节点 . @ 现行节点 / .or[] 取节点 .. n/a 取父节点,Jsonpath未支持

1.9K20

Python爬虫Xpath库详解

XPath 概览 XPath 选择功能十分强大,它提供了非常简洁明了路径选择表达式。另外,它还提供了超过 100 个内建函数,用于字符串、数值、时间匹配以及节点、序列处理等。...选取当前节点节点 @ 选取属性 这里列出了 XPath 常用匹配规则,示例如下: //title[@lang='eng'] 这就是一个 XPath 规则,它代表选择所有名称为 title,同时属性...要确定这个节点,需要同时根据 class 和 name 属性选择,一个条件是 class 属性里面包含 li 字符串,另一个条件是 name 属性为 item 字符串,二者需要同时满足,需要用 and...第四次选择时,我们调用了 child 轴,可以获取所有直接节点。这里我们又加了限定条件,选取 href 属性为 link1.html a 节点。...第五次选择时,我们调用了 descendant 轴,可以获取所有子孙节点。这里我们又加了限定条件获取 span 节点,所以返回结果只包含 span 节点而不包含 a 节点

14310

Appium iOS 元素定位与操作

#包含某个字符串 driver.find_element_by_ios_predicate("value BEGINSWITH 'Clear'") #以某个字符串开头 driver.find_element_by_ios_predicate...xpath路径表达式 表达式 描述 / 从根节点选取。 // 从匹配选择的当前节点选择文档中节点,而不考虑它们位置。 nodename 选取此节点所有节点。 . 选取当前节点。 .....选取当前节点节点。 @ 选取属性xpath匹配符 通配符 描述 * 匹配任何元素节点。 @* 匹配任何属性节点。 node() 匹配任何类型节点。...ancestor-or-self 选取当前节点所有先辈(父、祖父等)以及当前节点本身。 attribute 选取当前节点所有属性。 child 选取当前节点所有元素。...attribute::lang 选取当前节点 lang 属性。 child::* 选取当前节点所有元素。 attribute::* 选取当前节点所有属性

4.1K20

学爬虫利器Xpath,看这一篇就够了(建议收藏)

/test.html',etree.HTMLParser()) result = html.xpath('//li/a') print(result) 这里通过追加/a即选择了所有li节点所有直接a节点...要确定这个节点,需要同时根据class和name属性选择,一个条件是class属性里面包含li字符串,另一个条件是name属性为item字符串,二者需要同时满足,需要用and操作符相连,相连之后置于中括号内进行条件筛选...9.按序选择 有时候,我们在选择时候某些属性可能同时匹配了多个节点,但是只想要其中某个节点,如第二个节点或者最后一个节点,这时该怎么办呢?...它们具体作用可以参考:http://www.w3school.com.cn/xpath/xpath_functions.asp. 10.节点选择 Xpath提供了很多节点选择方法,包括获取元素、...今天我们主要介绍了Xpath在获取所有节点节点、父节点、文本、属性、以及属性多值匹配、多属性匹配等方面的具体操作,Xpath功能非常强大,内置函数非常多,熟练使用之后,可以大大提升HTML信息提取效率

1.2K40

Xpath高阶定位技巧,轻松玩转App测试元素定位!

简介XPath 是一种用于在 XML 文档中定位和选择节点语言。它可以通过使用路径表达式来指定节点位置,并支持使用各种条件进行过滤和匹配。...使用轴定位,通过预定义轴(如节点、父节点、兄弟节点等)来获取相对于当前节点其他节点集合。使用谓词,查找特定节点包含特定值节点,谓词嵌入方括号中。...Xpath 高级定位技巧包含-contains()Xpath 表达式中一个函数,contains 会匹配符合某属性包含 xx 字符串元素。...定位策略选择XPATH,定位当前界面中text属性包含阿里元素。...XPathXPath 轴是 XPath 语言中一个重要概念,它可以根据节点之间关系来选择节点XPath 轴定义了节点一个集合,这个集合由满足特定条件节点组成。

17220

web自动化测试入门篇06 —— 元素定位进阶技巧

EX:#id (#表示选择ID)属性选择器 —— 选择具有特定属性元素。EX:attribute=value选择器 —— 选择某个元素直接元素。...而后代选择器是可以指定父元素中任意元素,也就是说这个选择器可以选择div元素下所有具有SignFlow-tab类属性span元素。...driver.find_element(By.XPATH, "//input[@name='discount']")【包含】contains() 函数用于匹配元素属性值是否包含指定字符串。...轴 —— 选择当前节点所有节点preceding-sibling 轴 —— 选择当前节点之前所有兄弟节点following-sibling 轴 —— 选择当前节点之后所有兄弟节点self 轴...contains()这个函数用来检查元素中文本内容是否包含指定字符串

67240
领券