【发布时间】:2011-04-07 19:16:48
【问题描述】:
我有一个如下所示的 XML 响应:
<?xml version="1.0" encoding="utf-8"?>
<response>
<scheme>
<name>name_1</name>
<items>
<item>
<itemid>testid_1</itemid>
<new></new>
<used></used>
</item>
<item>
<itemid>testid_2</itemid>
<new></new>
<used></used>
</item>
</items>
</scheme>
<scheme>
<name>name_2</name>
<items>
<item>
<itemid>testid_3</itemid>
<new></new>
<used></used>
</item>
</items>
</scheme>
</response>
我必须将此 XML 响应转换为 Dictionary<string, List<Item>>。字典中的每个条目都是一个<scheme> 元素,其中字典的键是<name> 节点,字典的值是List<Item>,其中Item 对象由itemid、new 组成,和used。
到目前为止,我的代码如下所示:
var items =
from item in itemsXml.Descendants("scheme")
select new Item
{
ItemId = item.Element("itemid").Value,
New = item.Element("new").Value,
Used = item.Element("used").Value,
};
所以我上面的代码将为我创建一个项目列表,但是我如何访问每个<scheme> 节点中的<name> 节点?同样,<name> 是键,每个方案下的 List<Item> 是我的字典的值。
对不同的方法有什么建议吗??!?我绝对没有这样做..
【问题讨论】:
标签: xml linq dictionary