[英]Parse XML Elements with LINQ
我有這個 xml。
<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="el-gr" xmlns="http://www.w3.org/2005/Atom">
<title type="text">name.gr</title>
<updated>2011-07-23</updated>
<link href="link" />
<entry>
<title type="html">Οι επιθέσεις σε σκανδιναβικές χώρες</title>
<summary type="text">Η Νορβηγία, μία από τις σκανδιναβικές χώρες, έζησε μετά από πάρα πολλά χρόνια (2006) τον τρόμο. Δείτε αναλυτικά τις τελευταίες «τυφλές» επιθέσεις τα τελευταία χρόνια:...</summary>
<published>2011-07-23T12:54:00+03:00</published>
<link href="link" />
</entry>
我想解析里面的一些元素。 為此,我使用以下 LINQ 代碼。
var list = from y in xelement.Descendants("entry")
select new Update()
{
Title = y.Element("title").Value,
Pubdate = y.Element("published").Value,
Descr = y.Element("content").Value,
Link = y.Element("link").Attribute("href").Value
};
但它不起作用。 誰能告訴我我做錯了什么?
這些節點都在http://www.w3.org/2005/Atom
命名空間中。 因此,您需要使用此命名空間為查詢添加前綴,否則查詢會嘗試在空命名空間中查找這些元素。
XNamespace atom = "http://www.w3.org/2005/Atom";
var list = from y in xelement.Descendants(atom+"entry")
select new Update()
{
Title = y.Element(atom+"title").Value,
Pubdate = y.Element(atom+"published").Value,
Descr = y.Element(atom+"content").Value,
Link = y.Element(atom+"link").Attribute("href").Value
};
在您的 XML 示例中,缺少“提要”結束標簽並且您使用的是元素“內容”,但我猜“摘要”是正確的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.