ASP.NET学习笔记之XmlDocument操作XML

1:实验目的,实验要求(自己写)
2:实验步骤:

一:Xml是实现病历共享的另外一种较好的方式。C#通过System.Xml空间下的一系列类来处理XML文档,如何使用这些类呢?
在应用程序的头部添加:
using System.Xml
二:新建patient.xml文档

 代码如下 复制代码

<?xml version="1.0" encoding="gb2312"?>
<patientsmaterial>
</patientsmaterial>

1:实验目的,实验要求(自己写)
2:实验步骤:
一:Xml是实现病历共享的另外一种较好的方式。C#通过System.Xml空间下的一系列类来处理XML文档,如何使用这些类呢?
在应用程序的头部添加:
using System.Xml
二:新建patient.xml文档
<?xml version="1.0" encoding="gb2312"?>
<patientsmaterial>
</patientsmaterial>

三:创建ASP.NET应用程序,并在窗体上添加两个BUTTON按钮,5个TextBox,如图:

给出代码:
Default.aspx

 代码如下 复制代码
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
ID:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
姓名:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox><br />
性别:<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox><br />
E-mail:<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox><br />
地址:<asp:TextBox ID="TextBox5" runat="server"></asp:TextBox><br />
<br />
 <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="输出所有节点(Button1)" />
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="添加一个节点(Button2)" /></div>
</form>
</body>
</html>

Default.aspx.cs

 代码如下 复制代码
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Xml;
public partial class _Default : System.Web.UI.Page
{
//注意修改为自己patient.xml文件的路径
string filePath = "C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\WebSites\WebSite5\patient.xml";
protected void Page_Load(object sender, EventArgs e)
{
}
//输出所有节点
public void getAllElements() {
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(filePath);
XmlNodeList nodeList = xmlDoc.SelectNodes("/patientsmaterial/patient");
Response.Write("所有节点:");
for (int i = 0; i < nodeList.Count; i++)
{
Response.Write("ID:"+nodeList.Item(i).Attributes["ID"].Value);//输出ID
Response.Write("");
for (int j = 0; j < nodeList.Item(i).ChildNodes.Count; j++)
{
Response.Write(nodeList.Item(i).ChildNodes[j].Name + ":");
Response.Write(nodeList.Item(i).ChildNodes[j].InnerText);
Response.Write("");
}
Response.Write("");
}
}
protected void Button1_Click(object sender, EventArgs e)
{
getAllElements();
}
protected void Button2_Click(object sender, EventArgs e)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(filePath);
//查找
XmlNode root = xmlDoc.SelectSingleNode("patientsmaterial");
//创建patient节点
XmlElement xe1 = xmlDoc.CreateElement("patient");
//设置节点ID属性
xe1.SetAttribute("ID", TextBox1.Text.Trim());
XmlElement xesub1 = xmlDoc.CreateElement("name");
//设置文本节点
xesub1.InnerText = TextBox2.Text.Trim();
//添加到patient节点去
xe1.AppendChild(xesub1);
XmlElement xesub2 = xmlDoc.CreateElement("sex");
xesub2.InnerText = TextBox3.Text.Trim();
xe1.AppendChild(xesub2);
XmlElement xesub3 = xmlDoc.CreateElement("email");
xesub3.InnerText = TextBox4.Text.Trim();
xe1.AppendChild(xesub3);
XmlElement xesub4 = xmlDoc.CreateElement("address");
xesub4.InnerText = TextBox5.Text.Trim();
xe1.AppendChild(xesub4);
//添加到patientsmaterial节点
root.AppendChild(xe1);
xmlDoc.Save(filePath);
getAllElements();
}
}
时间: 2024-10-10 15:41:59

ASP.NET学习笔记之XmlDocument操作XML的相关文章

Perl学习笔记之文件操作

         这篇文章主要介绍了Perl学习笔记之文件操作,本文分别给出了打开文件.读取文件.写入文件代码实例,需要的朋友可以参考下              Perl对文件的操作,跟其它的语言类似,无非也就是打开,读与写的操作. 1. 打开文件 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #! c:/perl/bin/perl -w use utf8; use strict; use warnings;   my $filename = 'test.txt'

jQuery学习笔记之DOM操作、事件绑定(2)

jQuery学习笔记之DOM操作.事件绑定(2) --------------------学习目录------------------------ 4.DOM操作 5.事件绑定 源码地址: https://github.com/iyun/jQueryDemo.git --------------------学习目录------------------------ 4.DOM操作(节点增删改查) 节点查找:节点分为三种类型:元素节点.属性节点.文本节点 创建节点 创建元素节点 使用 jQuery

开发asp.net自定义控件(asp.net学习笔记三)

asp.net|笔记|控件   上一章我们写了一个最简单的自定义控件,此次让我们抛开理论,实际开发一个具有实用意义的自定义控件:一个可以设置权限的菜单. 在这个项目中我们将不采用任何未学到的理论知识,用户只需要具有基本的DHTML知识就可以.如你所知,服务器控件不过是对一些HTML及Javascript的封装罢了.至于其它的技巧,将来我们会逐渐提及并应用,最终生产出具有商业水准的控件来. 制作这个控件的思路很简单:首先使用DHTML写出一个菜单来,然后把其中的属性提取出来,接着封装起脚本与HTM

ASP.NET学习笔记之ADO.NET(一)

ado|asp.net|笔记|ado|asp.net 笔记内容全部来自<C# Web应用程序入门经典>1. ADO.NET的体系结构 ADO.NET这个名字并不代表实际的内容--ADO原来是表示ActiveX Data Obejects,而是一种技术的名称.访问数据库最常用的方法是:首先连接到数据库,然后使用SQL语句.对于不同的数据库操作有不同的Command对象方法.如,ExecuteScalar()方法返回一个包含值的对象,ExecuteReader()方法用于访问结果集的DataRea

Android学习笔记(5):配置文件AndroidManifest.xml和Android权限

AndroidManifest.xml配置文件包含下面这些信息: 1. 应用程序的包名:包名是应用的唯一标识 2. 应用程序所包含的组件:如Activity.Service.BroadcastReceiver和ContentProvider等 3. 应用程序兼容的最低版本 4. 应用程序使用系统所需的权限声明 5. 其他程序访问该程序所需的权限声明   看下面一个简单的AndroidManifest.xml配置文件 <?xml version="1.0" encoding=&qu

jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要)

JqGrid相关操作备忘 方法列表 1.获得当前列表行数:$("#gridid").getGridParam("reccount"); 2.获取选中行数据(json):$("#gridid").jqGrid('getRowData', id); 3.刷新列表:$(refreshSelector).jqGrid('setGridParam', { url: ''), postData: ''}).trigger('reloadGrid'); 4.选

jQuery学习笔记之 Ajax操作篇(一) - 数据加载_jquery

加载 HTML 我们通常使用加载 HTML 的方法来加载 HTML 片段,并插入到指定位置,假设当前页面为: <div></div> <button>load</button> 同目录下的 test.html 文件内容为: <span>test</span> 我们可以使用 load 方法来加载 HTML,将其绑定到按钮的点击事件上: $('button').click(function() { $('div').load('test.

git学习笔记之撤消操作

任何时候,你都有可能需要撤消刚才所做的某些操作.接下来,我们会介绍一些基本的撤消操作相关的命令.请注意,有些撤销操作是不可逆的,所以请务必谨慎小心,一旦失误,就有可能丢失部分工作成果. 修改最后一次提交 有时候我们提交完了才发现漏掉了几个文件没有加,或者提交信息写错了.想要撤消刚才的提交操作,可以使用 --amend 选项重新提交:     $ git commit --amend 此命令将使用当前的暂存区域快照提交.如果刚才提交完没有作任何改动,直接运行此命令的话,相当于有机会重新编辑提交说明

JAVA并发编程学习笔记之CAS操作

CAS操作 CAS是单词compare and set的缩写,意思是指在set之前先比较该值有没有变化,只有在没变的情况下才对其赋值. 我们常常做这样的操作 if(a==b) { a++; } 试想一下如果在做a++之前a的值被改变了怎么办?a++还执行吗?出现该问题的原因是在多线程环境下,a的值处于一种不定的状态.采用锁可以解决此类问题,但CAS也可以解决,而且可以不加锁. int expect = a; if(a.compareAndSet(expect,a+1)) { doSomeThin