我使用传统的XmlReader将xml文档解析为字典?但是,我正在寻找不那么复杂的方法最小代码行。我有以下Xml文档
<Msg>
<field id="0" value="0100"/>
<field id="3" value="310000"/>
<field id="7" value="0101150110"/>
<field id="11" value="000002"/>
</Msg>
是否可以将以下xml文档拆分为字典对象,其中key是属性,value是该元素的值?
例如: - 键= 0值= 0100
答案 0 :(得分:6)
我建议使用LINQ to XML,而不是使用XmlReader
,这时非常简单:
var dictionary = document.Descendants("field")
.ToDictionary(x => (int) x.Attribute("id"),
x => (string) x.Attribute("value"));
答案 1 :(得分:1)
var query = (from element in document.Descendants("field"))
.ToDictionary(pair => (int)pair.Attribute("id"),
pair => (string)pair.Attribute("value"));