在C#中,要使用XPath选择包含子字符串属性的节点,可以使用contains()
函数。以下是一个示例:
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);
}
}
}
在这个示例中,我们使用XPathDocument
和XPathNavigator
类来加载和查询XML文档。Select
方法使用XPath表达式//item[contains(@name, 'an')]
来选择包含子字符串属性的节点。contains
函数用于检查属性值是否包含指定的子字符串。
输出结果将包含两个节点:
<item name="banana" />
<item name="orange" />
这是因为它们的name
属性值包含子字符串an
。
领取专属 10元无门槛券
手把手带您无忧上云