通过C#中的LINQ在XML文件中按名称搜索,并在GridView中显示
本文关键字:搜索 并在 显示 GridView LINQ 中的 XML 通过 文件 | 更新日期: 2023-09-27 17:59:24
在整个web开发过程中都是全新的,一上午的谷歌搜索和查看堆栈溢出为我指明了正确的方向,但我仍然有问题。
我有一个XML文件Bricks.XML,其结构为:
<?xml version="1.0"?>
<Links>
<Table1
Name="Bob Smith"
Text="GO TEAM!!!"
Location="Tennis Court"
/>
</Links>
我有一个文本框(txtName)和一个按钮(btnSearch)。我希望能够从txtName.text中获取输入,并将其显示在我的网格视图中。我目前在面板中设置了这一切,其中一个面板用于txtName和btnSearch,它总是可见的。我有另一个面板,它的网格视图可以提取整个XML文件,最后还有第三个面板,其网格视图与我打算用作"搜索结果"的网格视图相同。
因此,您需要执行类似的操作来搜索节点,以找到具有特定名称的节点。然后你只需要对结果为所欲为。。。
string nameToSearch = "Bob";
string rawXML = null;
using (var stream = new StreamReader(File.OpenRead("<YOUR_FILE_PATH>")))
{
rawXML = stream.ReadToEnd();
}
if (rawXML != null)
{
XDocument doc = XDocument.Parse(rawXML);
XElement foundNode = doc.Descendants("Table1").Where(n => n.Attribute("Name").Value.Contains(nameToSearch)).FirstOrDefault();
if (foundNode != null)
{
string name = foundNode.Attribute("Name").Value;
string text = foundNode.Attribute("Text").Value;
string location = foundNode.Attribute("Location").Value;
}
}