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(标准通用标记语言下的一个子集)标准来描述.发布.发现.协调和配置这些应用程序,用于开发分布式 ...
随机推荐
- 201521123008《Java程序设计》第五周实验总结
1.本章学习总结 2.书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 不能.Sy ...
- 201521123044 《Java程序设计》第4周学习总结
1. 本章学习总结 2. 书面作业 1. 注释的应用 使用类的注释与方法的注释为前面编写的类与方法进行注释,并在Eclipse中查看.(截图) 答: 2. 面向对象设计(大作业1,非常重要) 2.1 ...
- 201521123067 《Java程序设计》第11周学习总结
201521123067 <Java程序设计>第11周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多线 ...
- latch session allocation
应用反馈上午10点左右出现大量应用连接数据库报错 采集9点-10点和10点-11点的AWR报告进行分析 DB时间明显差异,再继续分析等待事件 可以看出有session相关的Latch等待事件,查看相关 ...
- [07] String字符串
1.相同又不同的字符串 String str1 = new String("String"); String str2 = "String"; String s ...
- 04面向对象编程-01-创建对象 和 原型理解(prototype、__proto__)
1.JS中对象的"不同":原型概念 从Java中我们可以很好地去理解 "类" 和 "实例" 两个概念,可是在JavaScript中,这个概念 ...
- 举例让抽象问题具体化:包含min函数的栈
定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数.在该栈中,调用min.push及pop的时间复杂度都是O(1). import java.util.Stack; public c ...
- hadoop各个类及其作用
1.基础包(包括工具包和安全包) 包括工具和安全包.其中,hdfs.util包含了一些HDFS实现需要的辅助数据结构:hdfs.security.token.block和hdfs.security.t ...
- 【个人笔记】《知了堂》MySQL中的数据类型
MySQL中的数据类型 1.整型 MySQL数据类型 含义(有符号) tinyint(m) 1个字节 范围(-128~127) smallint(m) 2个字节 范围(-32768~32767) ...
- ArrayList底层实现原理
ArrayList概述: ArrayList是List接口的可变数组的实现.实现了所有可选列表操作,并允许包括null在内的所有元素.除了实现列表接口外,此类还提供一些方法来操作内部用来存储列表的数组 ...