如何使用xpath查询从XML文件中获取节点元素,

时间:2015-12-22 05:29:36

标签: c# xml xpath

我想通过搜索模式获取元素,就像我输入""那么我想要所有有" an"例如=男人,动物,粉丝,裤子

这是我的代码这里我使用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"; 
                }

            }

        }

2 个答案:

答案 0 :(得分:1)

使用此

{{1}}

答案 1 :(得分:0)

**我编写的代码很简单,xpath查询只会获取相关的元素节点,但是如果要打印则使用foreach循环**

private void Search2_Click_1(object sender,EventArgs e)         {

       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";


            }
        }

    }