簡體   English   中英

通過C#中的LINQ在XML文件中按名稱搜索並在GridView中顯示

[英]Searching by Name in XML file through LINQ in C# and displaying in GridView

在整個Web開發方面還算是新事物,一個早晨的Google搜索和通過堆棧溢出的瀏覽為我指明了正確的方向,但是我仍然遇到問題。

我有一個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文件,最后還有另一個面板,它具有與我打算用作“搜索結果”的網格視圖相同的網格。 我認為有可能讀到它,然后重新加載已經顯示的gridview。

因此,您需要執行類似的操作以搜索節點以找到具有特定名稱的節點。 然后,您只需要對結果做任何事情即可...

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM