C#解析XML
来源:互联网 发布:淘宝网站营销策划方案 编辑:程序博客网 时间:2024/06/05 16:18
一、C#解析XML文件
void btnImport_Click(object sender, EventArgs e) { try { //判断是否已经选择了文件 if (string.IsNullOrEmpty(fuCameraXML.PostedFile.FileName)) { throw new Exception("请选择一个文件!"); } //判断是否是.xml后缀的XML文件 string strExtName = System.IO.Path.GetExtension(fuCameraXML.PostedFile.FileName).ToUpper(); if (strExtName != ".XML") { throw new Exception("请选择一个扩展名为.xml的XML文件!"); } System.IO.FileInfo fiExcel = new System.IO.FileInfo(fuCameraXML.PostedFile.FileName); string fileName = Server.MapPath("../../FileUpload/") + DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + fiExcel.Name; fuCameraXML.PostedFile.SaveAs(fileName); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(fileName); XmlNode xmlRoot = xmlDoc.SelectSingleNode("VNMP"); XmlNode xmlJTJ = xmlRoot.SelectSingleNode("江苏省"); XmlNode xmlNJ = xmlJTJ.SelectSingleNode("4001_"); XmlNodeList lstJTJ = xmlJTJ.ChildNodes; CameraClassService objCameraClassService = GpsBLLFactory.CreateService<CameraClassService>(); //取一个摄像机类型 IList<CameraType> lstCameraType = GpsBLLFactory.CreateService<CameraTypeService>().GetCameraTypeList(); CameraType objCameraType =new CameraType(); if (lstCameraType.Count > 0) { objCameraType = lstCameraType[0]; } else { throw new Exception("请至少维护一个摄像机类型!"); } int intNum = 0; foreach (XmlNode xmlArea in lstJTJ) { string AreaName = xmlArea.Name; XmlNodeList lstCamera = xmlArea.ChildNodes; foreach (XmlNode xmlCamera in lstCamera) { Camera objCamera = new Camera(); objCamera.CameraId = xmlCamera.SelectSingleNode("CameraID").InnerText; objCamera.CameraName = xmlCamera.SelectSingleNode("CameraName").InnerText; objCamera.VideoUrl = xmlCamera.SelectSingleNode("rtspurl").InnerText; objCamera.NodeName = AreaName; objCamera.TypeId = objCameraType.TypeId; objCamera.OrgId = SjtHttpContext.CurrentUser.OrgId; string struuid = xmlCamera.SelectSingleNode("uuid").InnerText; //查询是否存在此摄像头分类,没有则保存分类 string strClassId = struuid.Substring(12, 3); CameraClass objCameraClass = objCameraClassService.GetCameraClass(strClassId); if (objCameraClass==null) { objCameraClass = new CameraClass(); objCameraClass.ClassId = strClassId; objCameraClass.ClassName = strClassId; objCameraClass.OrgId = SjtHttpContext.CurrentUser.OrgId; objCameraClass.OrderNo = objCameraClassService.GetCameraClassMaxOrderNo(); objCameraClassService.AddCameraClass(objCameraClass); } GpsBLLFactory.CreateService<CameraService>().AddCamera(objCamera, objCameraClass); intNum++; } } ShowSuccessMessage("成功录入" + intNum + "条"); } catch (Exception err) { ShowErrorMessage(err.Message); } }
二、C#解析XML字符串
假设从返回的response xml字符串为:
<?xml version="1.0" encoding="UTF-8"?> <users> <user> <col name="personid">人员编号</col> <col name="idcard">身份证号</col> <col name="card_n">卡号</col> <col name="dna">dna条码号</col> </user> <user> <col name="personid">人员编号2</col> <col name="idcard">身份证号2</col> <col name="card_n">卡号2</col> <col name="dna">dna条码号2</col> </user> </users>解析的代码如下:
using System.Xml;XmlDocument xx = new XmlDocument();xx.LoadXml(responseFromServer);XmlNode xxNode = xx.SelectSingleNode("/users/user[1]");foreach (XmlNode xxNode2 in xxNode.ChildNodes){ Console.WriteLine(xxNode2.Name + "---" + xxNode2.InnerText); }eg:
//1、获取传输的xml字符串 string strGetBody = transaction.body; //2、解析成相应的xml XmlDocument xmlRoot = new XmlDocument(); xmlRoot.LoadXml(strGetBody); XmlNode xmlreqInfo = xmlRoot.SelectSingleNode("reqInfo"); string idCard = xmlreqInfo.SelectSingleNode("idCard").InnerText; string idType = xmlreqInfo.SelectSingleNode("idType").InnerText;
三、Other
http://www.cnblogs.com/a1656344531/archive/2012/11/28/2792863.html
0 0
- C#解析XML文件
- C#解析XML
- C#解析XML文件
- C# xml解析
- C#解析XML文件
- C#解析XML字符串
- C# 解析XML
- C#解析XML文件
- C#解析XML文件
- C# xml解析
- c#解析xml
- c# 解析Xml文件
- C# 解析XML
- C#解析XML文件
- C#解析XML
- C#解析XML
- C#解析XML
- C#解析XML文件
- CentOS 6.4 拨号上网全攻略,不行你打我~
- 借力用力,一两拨千斤——抛弃程序员天生的自负
- android错误之MediaPlayer用法的Media Player called in state *
- 基于ssh框架及bootstrap前端框架做的简单分页
- html5 css3表单新特性
- C#解析XML
- HDU2061 Treasure the new start, freshmen!【水题】
- 3D局部光照模型
- u-boot分析(二)-----工作流程分析
- libevent在vs下编译
- OC的第一节课(小知识)
- 归并排序
- 1001. Bacon Number
- can bind a LONG value only for insert into a LONG column