[英]XML Linq Reading multiple nodes
我正在嘗試從wordpress博客xml提要中提取數據,這是xml的格式: http : //brockallen.com/category/asp-net/feed/
var xElements = XElement.Parse(ResponseText);
var blogs = (from temp in xElements.Elements()
select new
{
Title = temp.Element("item").Element("title").Value,
URL = temp.Element("item").Element("link").Value,
Image = temp.Element("item").Element("media:content").Value
}).FirstOrDefault();
如何獲得所有這些並將它們存儲到一個對象中?
media:content
上的錯誤是說':'字符,十六進制值0x3A,不能包含在名稱中。
當我刪除該行時,即使刪除了FirstOrDefault()
之后,它也只會得到一行。
您正在處理錯誤的文檔級別。 您還需要一個名稱空間。
XNamespace media = "http://search.yahoo.com/mrss/";
var items =
from channelElement in XElement.Parse(ResponseText).Element("channel").Elements("item")
select new {
Title = channelElement.Element("title").Value,
Url = channelElement.Element("link").Value,
MediaItems = (
from mediaItemElement in channelElement.Elements(media + "content")
select new {
url = mediaItemElement.Attribute("url").Value,
medium = mediaItemElement.Attribute("medium").Value
}
).ToList()
};
試試這個...用名稱空間更新以查詢content
元素
// var xDoc = XDocument.Load(@"<your xml location>");
var xDoc = XDocument.Parse("<your xml string>");
XNamespace ns = "http://search.yahoo.com/mrss/";
var blogs = (from temp in xDoc.Descendants().Elements("item")
select new
{
Title = temp.Element("title").Value,
URL = temp.Element("link").Value,
Image = temp.Element(ns + "content").Value
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.