读书人

xPath表达式

发布时间: 2013-12-20 17:03:19 作者: rapoo

求一个xPath表达式
xPath表达式
查找带有"_"的子节点


 int i=0;
var xmlDoc = LoadXmlDoc(@"test.xml");
var anyExpr = "//*[starts-with(name(),'_')]"; // 选取所有含"_"的节点
var anyNodes = GetXmlNodes(xmlDoc, anyExpr);
Console.WriteLine("XPath表达式为 //_,共有:" + anyNodes.Count);
foreach (var item in anyNodes)
{

Console.WriteLine(item.ToString());
for (i = 0; i < anyNodes.Count; i++)
{
Console.WriteLine(anyNodes[i].InnerXml);
}
}

Console.WriteLine();
}
/// <summary>
/// 加载XML文件
/// </summary>
/// <param name="xmlFilePath">XML文件路径</param>
/// <returns></returns>
public static XmlDocument LoadXmlDoc(string xmlFilePath)
{
var xmlDoc = new XmlDocument();
xmlDoc.Load(xmlFilePath);
return xmlDoc;
}
/// <summary>
/// 根据指定的XPath表达式获取XML结点列表
/// </summary>
/// <param name="xmlDoc"></param>
/// <param name="xpathExpr"></param>
/// <returns></returns>
public static XmlNodeList GetXmlNodes(XmlDocument xmlDoc, string xpathExpr)
{
if (xmlDoc == null)
return null;
return xmlDoc.SelectNodes(xpathExpr);


}

读书人网 >C#

热点推荐