Я знаю веб-ссылку XML-файла, и я использую его в своем приложении.Чтение XML в WinRT
Это корневой элемент feed
, и он имеет несколько дочерних элементов, называемых entry
. Каждый entry
имеет элемент summary
, который состоит из текста и нескольких дочерних тегов. Например,
<entry>
<title type="text">money giving</title>
<author>
<name>BMA</name>
</author>
<summary type="text">
<short-description>we give you money</short-description>
<tab id="0" header="Header & d">
This is Line 1
This is Line 2
This is Line 3
</tab>
<tab id="1" header="abc">
Only one line here
</tab>
</summary>
</entry>
Я хочу, чтобы получить полный текст внутри summary
, в том числе дочерних тегов short-description
и tags
. Я попытался с помощью этого кода:
XmlDocument xmlDoc = await XmlDocument.LoadFromUriAsync(new Uri("http://bigmanani.com/Kiosk-RSS_updated.xml"));
XDocument xDoc = XDocument.Parse(xmlDoc.GetXml());
XElement root = xDoc.Root;
XNamespace ad = "http://www.w3.org/2005/Atom";
IEnumerable<string> title = from abc in root.Descendants(ad+"summary") select (string)abc;
foreach(string one in title)
DebugMessage(one);
Проблема вот что я получаю только текстовую часть summary
элемента, и дочерние элементы short-description
и tab
игнорируются полностью. Как я могу получить полный текст?
Так что выход вы видите? Я бы * ожидал * видеть «мы даем вам деньги» Это линия 1 Это линия 2 Это линия 3 Только одна строка здесь »- это будет соответствовать тесту, который я только что выполнил ... Если вы ожидали см. имена и атрибуты дочерних элементов, вы не должны указывать на 'string'. –
Это результат, но я также хочу, чтобы дочерние теги были включены, поэтому вывод должен быть «<краткое описание>, мы даем вам деньги short-descri ...», т. Е. Полный текст в 'summary' –
Правильно, так что don 't нарисовать 'string'. Но имейте в виду, что это не «полный текст» в отношении XML - это смесь текстовых узлов, узлов элементов, атрибутов и т. Д. Это текст, если вы считаете XML как строку, но лучше подумать об этом как дерево узлов. –