我無法完全正確地查詢我的查詢。鑑於此XML:LinqtoXML:獲取元素值
<?xml version="1.0" encoding="utf-8" ?>
<FileTypes>
<File type="photo">
<Extension>.jpg</Extension>
<Extension>.gif</Extension>
</File>
<File type="document">
<Extension>.pdf</Extension>
</File>
<File type="video">
<Extension>.flv</Extension>
</File>
</FileTypes>
我想提取給定文件類型的字符串數組的擴展名。這是我到目前爲止:
var query = from m in _UploadFileTypes.Elements("FileTypes").Elements("File")
where m.Attribute("type").Value.ToUpper() == fileTypeFilter
select m.Elements("Extension");
foreach (var item in query)
{
//item.ToString() does not yield the correct value...
}
任何幫助將不勝感激!
只是FYI,如果一個File元素沒有type屬性,這將產生一個NullReferenceException。 (這可能並不重要,具體取決於模式。)如果這很重要,您可以更改: let typeAttribute = file.Attribute(「type」) 其中typeAttribute!= null && typeAttribute.Value.ToUpper()== fileTypeFilter – TrueWill 2009-11-12 01:42:12
好的建議。我會更新代碼。 – Jacob 2009-11-12 03:25:01
這只是給我的第一個元素...例如,它只返回照片類型中的.jpg ......它不包括兩個擴展名。 – 2009-11-12 14:17:09