我想知道是否有一种方法可以使用linq to xml将结果列表转化为一个列表。例如,如果我有以下xml:
<?xml version="1.0"?>
<Sports xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SportPages>
<SportPage type="test">
<LinkPage>
<IDList>
<string>1</string>
<string>2</string>
</IDList>
</LinkPage>
</SportPage>
</SportPages>
</Sports>
我该如何从IDList中获取字符串列表?
我对linq to xml相当陌生,所以我只是尝试了一些东西,目前我到了这个地步:
var IDs = from sportpage in xDoc.Descendants("SportPages").Descendants("SportPage")
where sportpage.Attribute("type").Value == "Karate"
select new
{
ID = sportpage.Element("LinkPage").Element("IDList").Elements("string")
};
但是变量混乱不堪,很难看懂。有没有办法可以从中获取字符串列表呢?
谢谢
SportPage
元素没有type
属性,这将引发一个对象空引用异常。 - Matthew Whited