C# · 12月 28, 2021

C#针对xml文件转化Dictionary的方法

本文实例讲述了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 static Dictionary<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;
}
  

就这样啦就可以了,直接调用该方法就可以啦

希望本文所述对大家的C#程序设计有所帮助。