1
我有一个XML文件,看起来像这样的价值在的XDocument读取值:需要基于属性
<RESPONSES>
<RESPONSE STATUS="OK">
<ALBUM>
<URL TYPE="COVERART" SIZE="THUMBNAIL">http://akamai-b.cdn.cddbp.net/cds/2.0/cover/60AA/2DF9/B94B/72C8_thumbnail_front.jpg</URL>
<URL TYPE="ARTIST_BIOGRAPHY">http://web.content.cddbp.net/cds/2.0?id=6F64C8E01EA6253B&client=10395648&class=biography&type=text/plain&tag=02sq63myXqi8O9GLtyVrTB2Q0HTdtZEIU0LuGDlIoDRvQGTE2lkKnsdQ</URL>
</ALBUM>
</RESPONSE>
<RESPONSES>
我需要获得封面艺术网址和ARTIST_BIOGRAPHY URL的值,所以我需要获取属性TYPE =“COVERART”的元素URL的值和属性TYPE =“ARTIST_BIOGRAPHY”的元素URL的值,我无法弄清楚如何做到这一点(尽管我是相信这是一个简单的答案;-)
我都试过:
var albums = new List<Album>();
try
{
albums = (from item in inputDoc.Descendants("ALBUM")
select new Album
{
Biography = (string)item.Element("URL").Attribute("TYPE"),
和
CoverArt = (string)item.Element("URL").Attribute("COVERART")
}).ToList();
也不给我什么我要找的。有人可以帮帮我吗!?
谢谢大卫。这适用于coverart,但对于生物我得到{“序列不包含匹配的元素”} System.Exception {System.InvalidOperationException} {}}我知道结果集中实际上有一个生物。 –
我用你提供的小型XML片段测试了它,它对我很有用。你可以仔细检查你张贴正确的XML? –
感谢大卫 - 问题出在我的身上 - 这是我提供有缺陷的Web服务的XML。感谢您的帮助。 –