Когда дело доходит до полнотекстового поиска за мои деньги ничто не бьется Lucene. Существует .Net порт, доступный , который совместим с индексами, созданными с версией Java.
существует немного работы, вовлеченной в это, необходимо создать/поддержать индексы, но поисковая скорость является фантастической, и можно создать все виды интересных запросов. Даже скорость при индексации довольно хороша - мы просто полностью восстанавливаем наши индексы один раз в день и не волнуемся об обновлении их.
Как пример, эта функциональность поиска приводится в действие Lucene. Сеть.
For your particular sample:
string result = xdoc.Descendants("Location").Single().Value;
However, note that Descendants can return multiple results if you had a larger XML sample:
<root>
<CurrentWeather>
<Location>Berlin</Location>
</CurrentWeather>
<CurrentWeather>
<Location>Florida</Location>
</CurrentWeather>
</root>
The code for the above would change to:
foreach (XElement element in xdoc.Descendants("Location"))
{
Console.WriteLine(element.Value);
}
string location = doc.Descendants("Location").Single().Value;
string location = (string)xdoc.Root.Element("Location");