Я пытаюсь получить значение из Xml с помощью xpath.пример xml:
<Wetter>
<Tabelle>
<internalID>38</internalID>
<Name>Algier</Name>
<Tag>Donnerstag</Tag>
<Datum>29.11.18</Datum>
<Symbol>heiter.gif</Symbol>
<deutsch>heiter</deutsch>
<englisch>partly cloudy</englisch>
<franzoesisch>Peu nuageux / Quelques nuages</franzoesisch>
<italienisch>poco nuvoloso</italienisch>
<spanisch>Parcialmente nuboso</spanisch>
<portugiesisch>Parcialmente enublado</portugiesisch>
<Tmin>14</Tmin>
<Tmax>22</Tmax>
<TminF>57</TminF>
<TmaxF>72</TmaxF>
<Regenwk>0</Regenwk>
<WindRi>N</WindRi>
<WindBft>2</WindBft>
</Tabelle>
</Wetter>
Весь xml - это пакет в объект XDocument, и я пытаюсь получить доступ к полю «Datum» узла «Tabelle», основываясь на значении «Name» в этом узле:
FormattableString xpath = $"/Wetter/Tabelle[Name = '{name}'][1]/Datum/text()";
var date = weatherXml.XPathSelectElement(xpath.ToString(CultureInfo.InvariantCulture));
return date.Value;
Я тестировал этот xpath в различных тестерах, и, похоже, все в порядке, однако при выполнении кода он выдает следующее исключение:
The XPath expression evaluated to unexpected type System.Xml.Linq.XText
Я также пробовализменив XPathSelectElement на XpathEvaluate, основываясь на других вопросах стека, но в результате я получаю нулевое значение.