2015-12-22 78 views
1

我想通過搜索模式獲取元素,就像我輸入「an」那麼我想要所有具有「an」示例的元素=人,動物,粉絲,喘氣如何通過xpath查詢從XML文件中獲取節點元素,

這是我的代碼這裏我使用foreach循環來顯示所有的搜索元素,但我不希望使用foreach循環,只是我想獲取所有列表中直接形成的XPath查詢請幫我出了非常無能的我

private void Search2_Click_1(object sender, EventArgs e) 
     { 


      XmlNodeList nodes = myxml.DocumentElement.SelectNodes("/students/student/s_name"); 

      string ha = search.Text; 

      if (listbox11.Text == "Name") 
      foreach(XmlNode node in nodes) 
      { 

       if(System.Text.RegularExpressions.Regex.IsMatch(node.InnerText,ha)) 
       { 
        listBox1.Text += node.InnerText + "\r\n"; 
       } 

      } 

     } 

回答

1

使用此

private void Search2_Click_1(object sender, EventArgs e) 
     { 
    string ha = search.Text; 

XmlNodeList nodes = myxml.DocumentElement.SelectNodes("/students/student/[contains(s_name,ha)]"); 

} 
+0

謝謝gokulakannan ... – krish

+0

如何寫在VB6同一正則表達式....是什麼,我需要添加引用運行正則表達式 – krish

+0

昏暗公頃作爲字符串 公頃= searchText.Text 套裝nodes = doc.documentElement.selectNodes(「// s_name [descendant-or-self :: * [contains(。,'「&ha +」')]]「) – krish

0

**,我寫的代碼很簡單,XPath查詢將只獲取相關的元素節點,但如果你要打印,然後使用foreach循環**

私人無效Search2_Click_1(對象發件人,EventArgs的) {

 string ha = search.Text; 

     if (listbox11.Text == "Name") 
     { 
      listBox1.Text = ""; 

      XmlNodeList nodes = myxml.DocumentElement.SelectNodes("//s_name[descendant-or-self::*[contains(.,'" + ha + "')]]"); 
      foreach (XmlNode node in nodes) 
      { 


        listBox1.Text += node.InnerText + "\r\n"; 


      } 
     } 

    } 
相關問題