gpt4 book ai didi

c# - 如何使用 LINQ-to-XML 将以下 XML 加载到字典中?

转载 作者:数据小太阳 更新时间:2023-10-29 02:25:15 24 4
gpt4 key购买 nike

如何加载以下格式化的 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>

进入一个字典,其中键是一个单独的扩展,值是 mimetype。

所以,对于这一行:

<MimeType Type="application/vnd.ms-excel" Extensions=".xla;.xlc;.xlm;.xls;.xlt;.xlw;.xlsx"/>

我会有以下键值条目:

键:“.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");

但是,如何选择所有“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);

关于c# - 如何使用 LINQ-to-XML 将以下 XML 加载到字典中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2015773/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com