一个简单的XML操作类

简介: using System;using System.Collections.Generic;using System.

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Xml.Linq; namespace XMLDemo.Web.Component { public class XMLBll { #region 获取XML文件 /// <summary> /// 获取XML文件 /// </summary> /// <returns></returns> public static string getXMLFile() { return HttpContext.Current.Server.MapPath(@"XMLDataBase/Messages.xml"); } #endregion #region 查询XML文件 /// <summary> /// 获取所有的留言信息 /// </summary> /// <returns></returns> public static List<Message> getMessageListFromXML() { //加载XML文档 XDocument doc = XDocument.Load(getXMLFile()); //取出所有的XML节点信息 var items = doc.Descendants("item") .Select(p => new { ID = Convert.ToInt32(p.Element("ID").Value), Name = p.Element("Name").Value, Email = p.Element("Email").Value, Logo = p.Element("Logo").Value, Content = p.Element("Content").Value, AddTime = p.Element("AddTime").Value, IP = p.Element("IP").Value }); //实体类集合 List<Message> messages = new List<Message>(); //遍历集合 foreach (var item in items) { Message message = new Message(); message.ID = item.ID; message.Name = item.Name; message.Email = item.Email; message.Logo = item.Logo; message.Content = item.Content; message.AddTime = item.AddTime; message.IP = item.IP; messages.Add(message); } //返回实体类集合 return messages; } #endregion #region 增加XML节点信息 /// <summary> /// 往XML文件中插入一条XML节点 /// </summary> /// <param name="message"></param> public static void InsertMessageIntoXML(Message message) { //加载XML文档 XDocument doc = XDocument.Load(getXMLFile()); //创建XML节点信息 XElement elements = new XElement("item", new XElement("id", message.ID), new XElement("name", message.Name), new XElement("email", message.Email), new XElement("logo", message.Logo), new XElement("content", message.Content), new XElement("addtime", message.AddTime), new XElement("ip", HttpContext.Current.Request.UserHostAddress)); //添加到根节点中 doc.Root.AddFirst(elements); //保存信息 doc.Save(getXMLFile()); } #endregion #region 删除XML节点内容 /// <summary> /// 根据ID删除XML文档中对应节点的信息 /// </summary> /// <param name="id"></param> public static void deleteMessageFromXML(int id) { //加载XML文档 XDocument doc = XDocument.Load(getXMLFile()); //查询指定的message集合 var messages = from p in doc.Root.Elements("item") where p.Element("id").Value == id.ToString() select p; //删除指定的对象 messages.Remove(); //保存XML文件 doc.Save(getXMLFile()); } #endregion } }

相关文章
|
27天前
|
XML C# 数据格式
使用C#操作XML文件
使用C#操作XML文件
11 0
|
4月前
|
XML Java 开发工具
jdom操作xml实战
jdom操作xml实战
|
1月前
|
XML 存储 JavaScript
深入学习 XML 解析器及 DOM 操作技术
所有主要的浏览器都内置了一个XML解析器,用于访问和操作XML XML 解析器 在访问XML文档之前,必须将其加载到XML DOM对象中 所有现代浏览器都有一个内置的XML解析器,可以将文本转换为XML DOM对象
72 0
|
1月前
|
XML 存储 BI
如何把一个 ABAP 类的实例,序列化成 XML 字符串试读版
如何把一个 ABAP 类的实例,序列化成 XML 字符串试读版
12 0
|
3月前
|
XML Java 数据库连接
Mybatis之简介、使用操作(安装、XML、SqlSession、映射的SQL语句、命名空间、作用域和生命周期)
【1月更文挑战第2天】 MyBatis 是一款优秀的持久层框架 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程 MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 实体类 【Plain Old Java Objects,普通的 Java对象】映射成数据库中的记录。
104 2
Mybatis之简介、使用操作(安装、XML、SqlSession、映射的SQL语句、命名空间、作用域和生命周期)
|
8月前
|
XML Java 数据库连接
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-原始jdbc操作1
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-原始jdbc操作1
41 0
|
4月前
|
XML Java 数据库连接
* 完成单表操作:需要3个功能。 * 功能1:使用注解 * 功能2:通用Mapper * 功能3:使用xml
* 完成单表操作:需要3个功能。 * 功能1:使用注解 * 功能2:通用Mapper * 功能3:使用xml
94 0
|
6月前
|
XML 存储 JSON
【100天精通python】Day29:文件与IO操作_XML文件处理
【100天精通python】Day29:文件与IO操作_XML文件处理
50 0
|
8月前
|
XML Java 数据库连接
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-原始jdbc操作2
java202304java学习笔记第六十五天-ssm-声明式控制-基于xml的声明式配置-原始jdbc操作2
50 0
|
8月前
|
XML Java 数据格式
Spring(Ioc基于xml操作Bean管理)
Spring(Ioc基于xml操作Bean管理)
60 0