WebService的简单运用添加删除
WebService是一种跨编程语言和跨操作系统平台的远程调用技术,简单来说就是将数据存储到项目的文件夹下
.NET中基于DOM核心类
XmlDocument 表示一个XML文档
XmlNode表示XML文档中的单个节点
XmlNodeList表示排序节点集合
XmlElement表示一个元素
XmlAttribyte 表示一个属性
XmlAttribyteCollection表示元素节点的属性集合
XmlText表示元素或属性的文本类容
-------------------------------------------------------------------------------------------------------------------------------------
在该控制器中写入如下的添加删除查询代码
[HttpPost]
public void Index(FormCollection F)
{
string xmlPath = Server.MapPath("~/A/") + "_Class.xml";
XmlDocument doc;
try
{
string Id = F["Id"];
string Name = F["Name"];
string Age = F["Age"];
string Sex = F["Sex"];
string Phone=F["Phone"]; if(!System.IO.File.Exists(xmlPath))
{
//创建XML文档对象
doc = new XmlDocument();
//创建XML文档描述
XmlDeclaration del = doc.CreateXmlDeclaration("1.0", "utf-8", null);
//创建根节点
XmlNode root = doc.CreateNode(XmlNodeType.Element, "Class", null);
//在文档中添加描述
doc.AppendChild(del);
//在文档中添加根节点
doc.AppendChild(root);
doc.Save(xmlPath);
}
//创建XML文档对象
doc = new XmlDocument();
//读取指定的XML文件
doc.Load(xmlPath);
//读取XML中的根节点
XmlElement element = doc.DocumentElement;
//创建子节点
XmlElement Stu = doc.CreateElement("Stu");
//设置XML文本值
Stu.InnerText = Name;
//设置XML节点属性
Stu.SetAttribute("Id", Id);
Stu.SetAttribute("Sex", Sex);
Stu.SetAttribute("Age", Age);
Stu.SetAttribute("Phone", Phone);
//在根节点中添加子节点
element.AppendChild(Stu); //保存Xml文档到指定路径
doc.Save(xmlPath); Response.Write("<script>alert('添加成功!');window.location.href = '/Home/Index';</script>");
}
catch (Exception ex)
{
Response.Write("<script>alert('添加失败!');window.location.href = '/Home/Index';</script>");
} } public ActionResult SelAndDel(string id = "")
{
if (id != "")
{
//进行删除操作
string xmlPath = Server.MapPath("~/A/") + "_Class.xml";
XmlDocument doc = new XmlDocument();
doc.Load(xmlPath);
XmlElement element = doc.DocumentElement;
XmlNode node = doc.SelectSingleNode(string.Format("/Class/Stu[@id='{0}']",id));
node.ParentNode.RemoveChild(node);
doc.Save(xmlPath);
}
else
{
string xmlPath = Server.MapPath("~/A/") + "_Class.xml";
StringBuilder sb = new StringBuilder();
XmlDocument doc = new XmlDocument();
doc.Load(xmlPath);
XmlElement element = doc.DocumentElement;
//遍历根节点下的所有子节点
foreach (XmlElement item in element.ChildNodes)
{
sb.Append(string.Format(@"<tr class='odd gradeX'>
<td>{0}</td>
<td>{1}</td>
<td class='hidden-480'>{2}</td>
<td class='hidden-480'>{3}</td>
<td class='center hidden-480'>{4}</td>
<td><a href='/Home/SelAndDel/{5}'>删除</td>
</tr>",
item.Attributes["Id"].Value, item.InnerText,item.Attributes["Age"].Value,
item.Attributes["Sex"].Value, item.Attributes["Phone"].Value, item.Attributes["Id"].Value)
);
}
ViewBag.tableText = sb.ToString();
}
return View();
}
在视图页面显示内容的地方写上
@Html.Raw(ViewBag.tableText.ToString())//将在控制器中写的HTML代码字符串转换成HTML代码在前台显示执行
添加成功后就会在你指定的文件夹下生成这个文档将你输入的值保存下来
<?xml version="1.0" encoding="utf-8"?>
<Class>
<Stu Id="" Sex="女" Age="" Phone=""></Stu>
<Stu Id="" Sex="女" Age="" Phone=""></Stu>
</Class>
WebService的简单运用添加删除的更多相关文章
- vue简单案例_动态添加删除用户数据
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Angular-表单动态添加删除
angular本身不允许去操作DOM,在angular的角度来说,所有操作都以数据为核心,剩下的事情由angular来完成.所以说,想清楚问题的根源,解决起来也不是那么困难. 前提 那么,要做的这个添 ...
- 表格的一些原生js操作(隔行变色,高亮显示,添加删除,搜索)
看着网上的视频教程,虽说还是有点简单,但还是不免想记录下.这些操作包括(隔行变色,高亮显示,添加删除,搜索功能),而这儿就是涉及table的原有属性“tBodies” “rows” “cells”等几 ...
- DHTMLX 前端框架 建立你的一个应用程序 教程(十一)--添加/删除表格中的记录
添加/删除表格中的记录 我们的最终功能是在表格中添加删除 我们通过单机工具栏上的按钮来实现添加删除 当我们单击添加按钮的时候, 表单中 第一行默认填写New contact 光标自动聚焦 当用户点击删 ...
- JS添加删除一组文本框并对输入信息加以验证
在做项目中遇到这样一个问题,就是我们需要添加几组数据到数据库,但是具体几组数据不确定,有客户来填写,比如我们需要添加打折策略,可能个策略有很多组方案,比如“满100打5折,满200打4折,满500打3 ...
- SQL语句添加删除修改字段及一些表与字段的基本操作
用SQL语句添加删除修改字段 1.增加字段 alter table docdsp add dspcode char(200)2.删除字段 ALTER TABLE table_NA ...
- 动态添加删除网卡 - 每天5分钟玩转 OpenStack(156)
这是 OpenStack 实施经验分享系列的第 6 篇. 在项目实施过程中,经常会有添加删除网卡的需求.比如一个运行数据库的 instance,初始只有一个网卡,数据库服务和备份共用这块网卡,后来为提 ...
- webservice Dome--一个webservice的简单小实例
1.理解:webservice就是为了实现不同服务器上不同应用程序的之间的通讯 2.让我们一步一步的来做一个webservice的简单应用 1)新建一个空的web应用程序,在程序上右键,新建项目,选择 ...
- WebService的简单介绍与入门使用
WebService是一个平台独立的,低耦合的,自包含的.基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和配置这些应用程序,用于开发分布式 ...
随机推荐
- 201521123033《Java程序设计》第10周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. answer: 2. 书面作业 本次PTA作业题集异常.多线程 1.finally 题目4-2 1.1 截图 ...
- 支付宝支付php的demo或sdk报错 Warning: openssl_sign() [function.openssl-sign]: Unknown signature algorithm. in
最近在做支付宝支付,在本地测试一切正常,上传到服务器就遇到报错: Warning: openssl_sign() [function.openssl-sign]: Unknown signature ...
- ajax中的suceess函数使用this
今天在写ajax的时候,后台返回数据给前台,可是总是不能把数据正常显示在页面上... 明明已经进入了success函数了,并且在该代码的前后都能够正常执行.. success: function (r ...
- Jquery总结图
读完锋利Jquery第二版书,对其进行整理做出的思维导图:
- temp-存储过程 以前的
---------------------------------------------------------------------------------------------------- ...
- jquery-post get 同步问题
解决方法1: 在全局设置: $.ajaxSetup({ async : false }); 然后再使用get.post请求 $.get("register/RegisterState&quo ...
- 前端里移动端到底比pc端多哪些知识?
端里移动端到底比pc端多哪些知识,为啥面试时好多公司都问h5水平如何? 我做过几年的web前端开发,就简单谈谈自己的感受吧.首先来看看PC端和移动端在前端开发上的一些区别:(1)PC考虑的是浏览器兼容 ...
- Shiro初识与总结
1.1简介 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码学和会话管理.使用Shiro的易于理解的API,您可以快速.轻松地获得任何应用程序,从最小的移动应用程序 ...
- memcached readme
memcache======== http://www.cnblogs.com/jeffwongishandsome/archive/2011/11/06/2238265.html # 命令 ## 存 ...
- ARCGIS切图:TPK文件的空间参考为地理坐标系
先来吐槽一下,之前习惯了百度地图API,所以一直习惯直接将经纬度点添加到地图上进行显示,目前使用ARCGIS RUNTIME FOR ANDROID进行开发,在地图上加点需要原始点的坐标为投影坐标系, ...