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

本文关键字:提取 节点 元素 文件 XML 何使用 xpath 查询 | 更新日期: 2023-09-27 18:27:44

我想通过搜索模式获取元素,比如如果我键入"an",那么我想要所有具有"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"; 
                }
            }
        }

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

使用此

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循环**

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

            }
        }
    }