.net操纵xml文件类(c#)_asp.net技巧2(转)

306        /** <summary>
307        /// 向一个已经存在的父节点中插入一个子节点
308        /// </summary>
309        /// <param name="parentNodePath">父节点</param>
310        /// <param name="childNodePath">字节点名称</param>
311        public void AddChildNode( string parentNodePath,string childnodename )
312        {
313            try
314            {
315                XmlNode parentXmlNode = xmlDoc.SelectSingleNode(parentNodePath) ;               
316                if(!((parentXmlNode)==null))//如果此节点存在
317                {   
318                    XmlNode childXmlNode =  xmlDoc.CreateElement(childnodename) ;               
319                    parentXmlNode.AppendChild( childXmlNode ) ;   
320                }
321                else{//如果不存在就放父节点添加
322                    //this.GetXmlRoot().AppendChild(childXmlNode);
323                }
324                           
325            }
326            catch(XmlException xmle)
327            {
328                throw xmle;
329            }
330        }
331       
332        /** <summary>
333        /// 向一个节点添加属性
334        /// </summary>
335        /// <param name="NodePath">节点路径</param>
336        /// <param name="NodeAttribute">属性名</param>
337        public void AddAttribute( string NodePath , string NodeAttribute)
338        {
339            privateAddAttribute(NodePath,NodeAttribute,"");
340        }
341        /** <summary>
342        ///
343        /// </summary>
344        /// <param name="NodePath"></param>
345        /// <param name="NodeAttribute"></param>
346        /// <param name="NodeAttributeValue"></param>
347        private void privateAddAttribute( string NodePath , string NodeAttribute,string NodeAttributeValue)
348        {
349            try
350            {
351                XmlNode nodePath = xmlDoc.SelectSingleNode( NodePath ) ;
352                if (!(nodePath==null))
353                {   
354                    XmlAttribute nodeAttribute = this.xmlDoc.CreateAttribute(NodeAttribute);
355                    nodeAttribute.Value=NodeAttributeValue;
356                    nodePath.Attributes.Append(nodeAttribute) ;                       
357                }
358            }
359            catch(XmlException xmle)
360            {
361                throw xmle;
362            }
363        }
364        /** <summary>
365        ///  向一个节点添加属性,并付值
366        /// </summary>
367        /// <param name="NodePath">节点</param>
368        /// <param name="NodeAttribute">属性名</param>
369        /// <param name="NodeAttributeValue">属性值</param>
370        public void AddAttribute( string NodePath , string NodeAttribute,string NodeAttributeValue)
371        {
372            privateAddAttribute(NodePath,NodeAttribute,NodeAttributeValue);
373        }
374        #endregion
375
376        删除#region 删除
377        /** <summary>
378        /// 删除节点的一个属性
379        /// </summary>
380        /// <param name="NodePath">节点所在的xpath表达式</param>
381        /// <param name="NodeAttribute">属性名</param>
382        public void DeleteAttribute( string NodePath , string NodeAttribute)
383        {           
384            XmlNodeList nodePath =this.xmlDoc.SelectNodes(NodePath);           
385            if (!(nodePath==null))
386            {
387                foreach (XmlNode tempxn in nodePath)
388                {
389                    XmlAttributeCollection xmlAttr = tempxn.Attributes ;
390                    for(int i=0 ; i<xmlAttr.Count ; i++)
391                    {
392                        if ( xmlAttr.Item(i).Name == NodeAttribute)
393                        {
394                            tempxn.Attributes.RemoveAt(i);
395                            break ;
396                        }
397                    }
398                }
399            }
400        }
401       
402        /** <summary>
403        /// 删除节点,当其属性值等于给定的值时
404        /// </summary>
405        /// <param name="NodePath">节点所在的xpath表达式</param>
406        /// <param name="NodeAttribute">属性</param>
407        /// <param name="NodeAttributeValue">值</param>
408        public void DeleteAttribute( string NodePath , string NodeAttribute , string NodeAttributeValue)
409        {
410            XmlNodeList nodePath =this.xmlDoc.SelectNodes(NodePath);           
411            if (!(nodePath==null))
412            {
413                foreach (XmlNode tempxn in nodePath)
414                {
415                    XmlAttributeCollection xmlAttr = tempxn.Attributes ;
416                    for(int i=0 ; i<xmlAttr.Count ; i++)
417                    {
418                        if ( xmlAttr.Item(i).Name == NodeAttribute && xmlAttr.Item(i).Value==NodeAttributeValue)
419                        {
420                            tempxn.Attributes.RemoveAt(i);
421                            break ;
422                        }
423                    }
424                }
425            }
426        }
427        /** <summary>
428        /// 删除节点
429        /// </summary>
430        /// <param name="tempXmlNode"></param>
431        /// <remarks></remarks>
432        public void DeleteXmlNode(string tempXmlNode){   
433            XmlNodeList nodePath =this.xmlDoc.SelectNodes(tempXmlNode);
434            if (!(nodePath==null))
435            {
436                foreach(XmlNode xn in nodePath)
437                {
438                    xn.ParentNode.RemoveChild(xn);       
439                }
440            }
441        }
442
443        #endregion
444
445        XML文档事件#region XML文档事件
446        /** <summary>
447        ///
448        /// </summary>
449        /// <param name="src"></param>
450        /// <param name="args"></param>
451        private  void nodeInsertEvent(Object src, XmlNodeChangedEventArgs args)
452        {
453            //保存设置
454            SaveXmlDocument();
455        }
456        /** <summary>
457        ///
458        /// </summary>
459        /// <param name="src"></param>
460        /// <param name="args"></param>
461        private  void nodeDeleteEvent(Object src, XmlNodeChangedEventArgs args)
462        {
463            //保存设置
464            SaveXmlDocument();
465        }
466        /** <summary>
467        ///
468        /// </summary>
469        /// <param name="src"></param>
470        /// <param name="args"></param>
471        private  void nodeUpdateEvent(Object src, XmlNodeChangedEventArgs args)
472        {
473            //保存设置
474            SaveXmlDocument();
475        }
476        #endregion
477
478        保存XML文件#region 保存XML文件
479        /** <summary>
480        /// 功能:
481        /// 保存XML文件
482        ///
483        /// </summary>
484        public void SaveXmlDocument()
485        {
486            try
487            {
488                //保存设置的结果
489                if( this.xmlFilePathType == enumXmlPathType.AbsolutePath )
490                {
491                    Savexml( xmlFilePath ) ;
492                }
493                else if( this.xmlFilePathType == enumXmlPathType.VirtualPath )
494                {
495                    Savexml(HttpContext.Current.Server.MapPath(xmlFilePath)) ;
496                }
497            }
498            catch(XmlException xmle)
499            {
500                throw xmle;
501            }
502        }
503   
504        /** <summary>
505        /// 功能:
506        /// 保存XML文件   
507        /// </summary>
508        public void SaveXmlDocument(string tempXMLFilePath)
509        {
510            try
511            {
512                //保存设置的结果
513                Savexml(tempXMLFilePath);
514            }
515            catch(XmlException xmle)
516            {
517                throw xmle;
518            }
519        }
520        /** <summary>
521        ///
522        /// </summary>
523        /// <param name="filepath"></param>
524        private void Savexml(string filepath)
525        {
526            xmlDoc.Save(filepath);
527        }
528
529        #endregion
530
531    }
532
533}

转载于:https://www.cnblogs.com/sidihu/archive/2012/04/20/2460767.html

本项目是一个基于SSM(Spring+SpringMVC+MyBatis)框架和Vue.js前端技术的大学生第二课堂系统,旨在为大学生提供一个便捷、高效的学习和实践平台。项目包含了完整的数据库设计、后端Java代码实现以及前端Vue.js页面展示,适合计算机相关专业的毕设学生和需要进行项目实战练习的Java学习者。 在功能方面,系统主要实现了以下几个模块:用户管理、课程管理、活动管理、成绩管理和通知公告。用户管理模块支持学生和教师的注册、登录及权限管理;课程管理模块允许教师上传课程资料、设置课程时间,并由学生进行选课;活动管理模块提供了活动发布、报名和签到功能,鼓励学生参与课外实践活动;成绩管理模块则用于记录和查询学生的课程成绩和活动参与情况;通知公告模块则实时发布学校或班级的最新通知和公告。 技术实现上,后端采用SSM框架进行开发,Spring负责业务逻辑层,SpringMVC处理Web请求,MyBatis进行数据库操作,确保了系统的稳定性和扩展性。前端则使用Vue.js框架,结合Axios进行数据请求,实现了前后端分离,提升了用户体验和开发效率。 该项目不仅提供了完整的源代码和相关文档,还包括了详细的数据库设计文档和项目部署指南,为学习和实践提供了便利。对于基础较好的学习者,可以根据自己的需求在此基础上进行功能扩展和优化,进一步提升自己的技术水平和项目实战能力。
本项目是一个基于SSM(Spring+SpringMVC+MyBatis)后端框架与Vue.js前端框架的个人健康信息管理系统。该项目旨在为个人提供一个便捷、高效的健康信息管理平台,通过该系统,用户可以轻松地记录、查询和分析自己的健康数据。 在技术选型上,后端采用了Spring框架进行依赖注入和事务管理,SpringMVC负责处理Web请求,MyBatis则用于数据库操作,实现了前后端的分离。前端则使用了Vue.js框架,结合Vue Router进行页面路由管理,以及Vuex进行状态管理,确保了用户界面的响应性和交互性。 系统的主要功能包括用户注册与登录、健康数据录入(如身高、体重、血压等)、健康数据查询与分析、健康建议推送等。用户可以通过系统直观地查看自己的健康趋势,并根据系统提供的建议调整生活习惯。 数据库设计方面,系统采用了关系型数据库MySQL,设计了用户表、健康数据表等,确保了数据的完整性和安全性。此外,项目还包含了详细的文档和论文资料,为使用者提供了完整的开发背景和技术实现细节。 对于计算机相关专业的毕设学生而言,该项目不仅提供了一个实际的应用场景,还涵盖了从需求分析到系统实现的完整开发流程,是一个理想的实践平台。对于Java学习者,该项目也是一个很好的实战练习,可以在理解现有代码的基础上,进一步探索和实现更多功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值