首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

xPath表达式

2013-12-20 
求一个xPath表达式,查找带有_的子节点 int i0var xmlDoc LoadXmlDoc(@test.xml)var anyExpr /

求一个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);


      }

热点排行