繁体   English   中英

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

[英]how to fetch node elements from XML file by using xpath query,

我想通过搜索模式获取元素,例如,如果我键入“ an”,那么我想要所有具有“ an”的元素,例如= man,animal,fan,pant

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

            }

        }

用这个

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

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

}

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

私人无效Search2_Click_1(对象发送者,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";


            }
        }

    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM