无法读取属性值LINQ XML



这是XML结构:

<items>
<item>
<title>Weź udział w grze historycznej</title>
<link>https://legionowo.pl/a/wez-udzial-w-grze-historycznej</link>
<description><![CDATA[<img src="https://legionowo.pl/img/artykuly/4/2022_07/x41594.jpg.pagespeed.ic.9BJkaqvzdK.jpg%22%3E<br><br>]]></description>
<pubDate>Fri, 01 Jul 2022 09:10:50 +0000</pubDate>
<media:content url="https://legionowo.pl/img/artykuly/4/2022_07/x41594.jpg.pagespeed.ic.9BJkaqvzdK.jpg" medium="image" />
<guid isPermaLink="false">https://legionowo.pl/a/wez-udzial-w-grze-historycznej</guid>
</item>
<items>

这是c#方法:

private async Task _XElementGet()
{
XElement doc = XElement.Load("C:\mail.xml");
List<XElement> list;
list = (from prod in doc.Elements("item")
select prod).ToList();
foreach(XElement item in list)
{
Console.WriteLine(item.Name);
}
}

和它的空,但当我试图使用XDocument它的工作,它看起来:

private async Task _XDocumentGet()
{
XDocument doc = XDocument.Load("C:\mail.xml");
List<XElement> list;
list = (from prod in doc.Descendants("item")
select prod).ToList();
foreach(XElement item in list)
{
//Console.WriteLine(item.Element("title"));
Console.WriteLine(item.FirstAttribute.Value);
}
}

这是第一个。

第二个是关于这个属性"media:content"→我无法得到它的值,因为我得到这个错误消息:

System.Xml。':'字符,十六进制值0x3A,不能包含在名称中。如何从这个属性中读取值

有什么办法可以修复它吗?

尝试如下:

using System;
using System.Linq;
using System.Text;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Xml;
using System.Xml.Linq;

namespace ConsoleApp2
{
class Program
{
const string FILENAME = @"c:temptest.xml";
static void Main(string[] args)
{
XDocument doc = XDocument.Load(FILENAME);
XElement description = doc.Descendants("description").FirstOrDefault();
string descr = (string)description;
string descrDecoded = System.Net.WebUtility.UrlDecode(descr);


}
}


}