Поэтому я пытаюсь проанализировать некоторые XML, которые возвращаются из вызова REST API. XML выглядит так (со многими другими <link>
):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<response status="Ok">
<links>
<link id="79380" hint="Some Text" linkDescription="This is the GET url for this Customer." link="/customer/79380" httpMethod="GET"/>
</links>
</response>
Я загружаю файл XML, используя следующий код:
Stream resStream = response.GetResponseStream();
StreamReader reader = new StreamReader(resStream);
XElement doc = XElement.Load(reader);
Затем я просматриваю элементы следующим образом:
IEnumerable<XElement> List =
from el in doc.Descendants("links") select el;
foreach (XElement e in List)
{
test += e.ToString();
}
Он проходит только один раз, а тест - это просто строка, содержащая весь XML файл. Моя цель - получить значение атрибута "id" от каждого элемента и поместить его в список.
Я пробовал разные вещи, и я не могу ничего вернуть, кроме одной огромной струны.
Попробуй это:
var idList = doc.Descendants("link").Select(x => (int)x.Attribute("id"));
doc.Descendants("link")
, вы использовалиdoc.Descendants("links")
и именно поэтому вы получаете элементыlinks
вместоlink