ibcadmin 发表于 2015-1-26 09:59:24

C#中xml 转Dictionary

以下是XML文件
<?xml version="1.0" encoding="utf-8" ?>
<nodes>
<国土局>
<name>市局国土资源局</name>
<code>330</code>
<受理 telephone="88205156">萍,倩</受理>
<审核 personId="48e1bca3-b0f5d0fec89">友</审核>
<审定>123</审定>
<BELONGSYSTEM>37001</BELONGSYSTEM>
<DEPTID>10080100030</DEPTID>
<SERVICECODE>4e58a6f1</SERVICECODE>
</国土局>
<国土局>
<name>县国土资源局</name>
<code>3321</code>
<受理 telephone="13819655058">晨</受理>
<审核 personId="f7351d0f-b197-0a0fc685f3ac">辉</审核>
<审定>456</审定>
<BELONGSYSTEM>123</BELONGSYSTEM>
<DEPTID>00100033</DEPTID>
<SERVICECODE>
204cdd0b
</SERVICECODE>
</国土局>
</nodes>


转换方法:

/// <summary>
       /// 获得受理信息
       /// </summary>
       /// <param name="p_shixianCode">市县编码</param>
       /// <returns>受理信息</returns>
       public staticDictionary<string,string> ShouLiInfo(string p_shixianCode)
       {
         XDocument xd = null;
         string xmlPath = "config.xml";
         xd = XDocument.Load(xmlPath);//xml存放路径

         Dictionary<string, string> pDic = new Dictionary<string, string>();
         var info = from t in xd.Root.Descendants("国土局").Where(p => p.Element("code").Value == p_shixianCode) select new { name = t.Element("name").Value, code = t.Element("code").Value, shouli = t.Element("受理").Value, telephone = t.Element("受理").Attribute("telephone").Value, shenhe = t.Element("审核").Value, personId = t.Element("审核").Attribute("personId").Value, shending = t.Element("审定").Value, DEPTID = t.Element("DEPTID").Value, BELONGSYSTEM = t.Element("BELONGSYSTEM").Value, SERVICECODE = t.Element("SERVICECODE").Value };
         foreach (var item in info)
         {
               pDic.Add("name", item.name);
               pDic.Add("code", item.code);
               pDic.Add("shouliPerson", item.shouli);
               pDic.Add("telephone", item.telephone);
               pDic.Add("shenhePerson", item.shenhe);
               pDic.Add("shenhepersonId", item.personId);
               pDic.Add("shendingPerson", item.shending);
               pDic.Add("DEPTID", item.DEPTID);
               pDic.Add("BELONGSYSTEM", item.BELONGSYSTEM);
               pDic.Add("SERVICECODE", item.SERVICECODE);
         }      
return pDic;      
}

ibcadmin 发表于 2015-1-26 10:00:47

这个方法很土逼
页: [1]
查看完整版本: C#中xml 转Dictionary