Поиск по имени в XML-файле через LINQ в C # и отображение в GridView - PullRequest
1 голос
/ 16 июня 2011

Довольно новенький во всей этой веб-разработке, и утренний поиск в 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-файл, и, наконец, третья панель с той же сеткой, которую я намеревался использовать в качестве «результатов поиска».Я думаю, что можно было бы прочитать об этом и просто перезагрузить уже отображенную сетку.

1 Ответ

0 голосов
/ 16 июня 2011

Таким образом, вы захотите сделать что-то вроде этого, чтобы искать через узлы, чтобы найти тот, у которого есть определенное имя.Тогда вам просто нужно делать что угодно с результатами ...

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;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...