Rin*_*dar 3 .net c# xml linq linq-to-xml
如何加载以下格式化的XML文档:
<Settings>
<MimeTypes>
<MimeType Type="application/mac-binhex40" Extensions=".hqx"/>
<MimeType Type="application/msword" Extensions=".doc;.docx"/>
<MimeType Type="application/pdf" Extensions=".pdf"/>
<MimeType Type="application/vnd.ms-excel" Extensions=".xla;.xlc;.xlm;.xls;.xlt;.xlw;.xlsx"/>
</MimeTypes>
</Settings>
Run Code Online (Sandbox Code Playgroud)
进入字典,其中键是单独的扩展名,值是mimetype.
所以,对于这一行:
<MimeType Type="application/vnd.ms-excel" Extensions=".xla;.xlc;.xlm;.xls;.xlt;.xlw;.xlsx"/>
Run Code Online (Sandbox Code Playgroud)
我会有以下键值条目:
键:".xla"值:"application/vnd.ms-excel"
键:".xlc"值:"application/vnd.ms-excel"
键:".xlm"值:"application/vnd.ms-excel "
键:".xls"值:"application/vnd.ms-excel"
键:".xlt"值:"application/vnd.ms-excel"
我对LINQ-To-XML业务比较陌生.
我知道我应该将文档加载到XElement中,如:
XElement settingsDoc = XElement.Load("Settings.xml");
Run Code Online (Sandbox Code Playgroud)
但是,如何选择所有"MimeType"条目?
就像是:
var dictionary = (from element in settingsDoc.Descendants("MimeType")
from extension in element.Attribute("Extensions")
.Value.Split(';')
select new { Type = element.Attribute("Type").Value,
Extension = extension })
.ToDictionary(x => x.Extension,
x => x.Type);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
748 次 |
| 最近记录: |