string path = Server.MapPath("~/Models");//路徑
doc.Load(path + "/CourierCompany.xml");//加載xml
XmlNode rootNode = doc.DocumentElement;
for (int i = 0; i < rootNode.ChildNodes.Count; i++)
{
var name= rootNode.ChildNodes[i].Name;//獲取節點名稱
var value= rootNode.SelectSingleNode(rootNode.ChildNodes[i].Name).FirstChild.InnerText;//獲取指定節點的值
}
例子如下;
public JsonResult GetLogisticList()
{
string path = Server.MapPath("~/Models");
//XDocument document = XDocument.Load(path + "/CourierCompany.xml");
//獲取到XML的根元素進行操作
List<CourierStatus> couriers = new List<CourierStatus>();
XmlDocument doc = new XmlDocument();
doc.Load(path + "/CourierCompany.xml");
XmlNode rootNode = doc.DocumentElement;
for (int i = 0; i < rootNode.ChildNodes.Count; i++)
{
CourierStatus status = new CourierStatus();
status.Name = rootNode.ChildNodes[i].Name;//獲取節點名稱
status.VName= rootNode.SelectSingleNode(rootNode.ChildNodes[i].Name).FirstChild.InnerText;//獲取指定節點的值
couriers.Add(status);
}
return Json(couriers);
}
public class CourierStatus
{
public string Name { get; set; }
public string VName { get; set; }
}
xml文件內容
<couriers>
<SF>順豐速運</SF>
<HTKY>百世快遞</HTKY>
<ZTO>中通快遞</ZTO>
<STO>申通快遞</STO>
<YTO>圓通速遞</YTO>
<YD>韻達速遞</YD>
<YZPY>郵政快遞包裹</YZPY>
<EMS>EMS</EMS>
<HHTT>天天快遞</HHTT>
<JD>京東物流</JD>
<QFKD>全峰快遞</QFKD>
<GTO>國通快遞</GTO>
<UC>優速快遞</UC>
<DBL>德邦</DBL>
<FAST>快捷快遞</FAST>
<ZJS>宅急送</ZJS>
</couriers>
請求結果:
[
{
"Name": "SF",
"VName": "順豐速運"
},
{
"Name": "HTKY",
"VName": "百世快遞"
},
{
"Name": "ZTO",
"VName": "中通快遞"
},
{
"Name": "STO",
"VName": "申通快遞"
},
{
"Name": "YTO",
"VName": "圓通速遞"
},
{
"Name": "YD",
"VName": "韻達速遞"
},
{
"Name": "YZPY",
"VName": "郵政快遞包裹"
},
{
"Name": "EMS",
"VName": "EMS"
},
{
"Name": "HHTT",
"VName": "天天快遞"
},
{
"Name": "JD",
"VName": "京東物流"
},
{
"Name": "QFKD",
"VName": "全峰快遞"
},
{
"Name": "GTO",
"VName": "國通快遞"
},
{
"Name": "UC",
"VName": "優速快遞"
},
{
"Name": "DBL",
"VName": "德邦"
},
{
"Name": "FAST",
"VName": "快捷快遞"
},
{
"Name": "ZJS",
"VName": "宅急送"
}
]
不當之處; 請指教