日期:2014-05-20  浏览次数:21003 次

求助.LinQToXML再ToDictionary
最近在练习LinqToXML,...遇到了一个问题..不知道如何下手...

XML的格式如下

<?xml version="1.0" encoding="utf-8" ?>
<mappings>
  <mapping listName="厂内新闻">
  <request id="0" val="厂内新闻1" />
  <request id="1" val="厂内新闻2" />
  </mapping>
  <mapping listName="党群园地">
  <request id="0" val="党群园地1" />
  <request id="1" val="党群园地2" />
  <request id="2" val="党群园地3" />
  </mapping>
  <mapping listName="生产管理">
  <request id="0" val="生产管理1" />
  <request id="1" val="生产管理2" />
  </mapping>
</mappings>

我想 使用 Linq 查询 之后返回一个 Dictionary<string, List<string>>
key是XML 中mapping节点的 listName 属性
value 是xml中mapping子节点下的request节点中的val属性

我的代码

 public Dictionary<string, List<string>> LoadXML() 
 {
//xml的地址从web.config 中获取
 string xmlPath = HttpContext.Current.Server.MapPath(System.Configuration.ConfigurationSettings.AppSettings["mapping"]);
XDocument xdoc = XDocument.Load(xmlPath);//加载XML
Dictionary<string, List<string>> hm = new Dictionary<string, List<string>>();
  //TODO...
  //应该如何实现列???

  return hm;
}

谢谢各位的提醒....


------解决方案--------------------
探讨
又一种解决办法

C# code

static void Main(string[] args)
{
XDocument xdoc = XDocument.Load("mapping.xml");
Dictionary<string,List<string>> hm = new Dictionary<string,List<strin……