落雨凌风
重要的不是我遇到了什么事情,而是怎样处理这些事情!
博客园
::
首页
::
新随笔
::
联系
::
订阅
::
管理
posts - 6, comments - 0, trackbacks - 0
公告
公告
初来乍到,只为进步
写一些个人的理解,请大家批评
望前辈们不吝啬
每日英语
在线词典
时间就是生命
<
2008年5月
>
日
一
二
三
四
五
六
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
与我联系
发短消息
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的文章
我的参与
我的新闻
我的标签
留言簿
给我留言
查看留言
我参加的小组
大学生联盟
每日一句英语
ASP.NET
我参与的团队
大学生联盟(0/24)
我的标签
文件上传
(1)
HTML
(1)
字符串
(1)
XML
(1)
随笔分类
ASP.NET(2)
C#(2)
CSS(1)
HTML(1)
文章分类
ASP.NET(1)
新闻分类
软件新闻(1)
收藏夹
C#(1)
CSS(1)
JavaScript(1)
Linq(1)
Xml(1)
设计之美
The FWA
网站链接
ASP.NET社区
CSDN.NET
DotNet俱乐部
博客园
独上高楼
我的地盘
测试空间
最新随笔
1. ASP.NET生成静态网页的方法
2. DataSet操作XML的一点理解
3. 字符串的常用操作(转)
4. 常用META标签
5. 文件处理类简介
6. 最简单的文件上传
7. 用CSS弹出对话框
搜索
积分与排名
积分 - 546
排名 - 10362
最新评论
阅读排行榜
1. 用CSS弹出对话框(37)
2. 字符串的常用操作(转)(30)
3. DataSet操作XML的一点理解(19)
4. 文件处理类简介(13)
5. 最简单的文件上传(12)
评论排行榜
1. 用CSS弹出对话框(0)
2. 最简单的文件上传(0)
3. 文件处理类简介(0)
4. 常用META标签(0)
5. 字符串的常用操作(转)(0)
DataSet操作XML的一点理解
代码简单,记录下来为了以后能再看。有错误请指出。谢谢。
DataSet操作源码:
1
using
System;
2
using
System.Configuration;
3
using
System.Data;
4
using
System.Linq;
5
using
System.Web;
6
using
System.Web.Security;
7
using
System.Web.UI;
8
using
System.Web.UI.HtmlControls;
9
using
System.Web.UI.WebControls;
10
using
System.Web.UI.WebControls.WebParts;
11
using
System.Xml.Linq;
12
using
System.Xml;
13
/**/
/*
14
* 使用三个控件:
15
* FileUpload:fileXmlPath;
16
* Button:btnXmlPath,btnSave,btnRead;
17
* 对应事件btnXmlPath_Click,btnSave_Click,btnRead_Click。
18
*/
19
20
public
partial
class
_Default : System.Web.UI.Page
21
{
22
public
static
DataSet ds;
23
public
static
string
xmlpath;
24
protected
void
Page_Load(
object
sender, EventArgs e)
25
{
26
}
27
protected
void
btnXmlPath_Click(
object
sender, EventArgs e)
28
{
29
if
(fileXmlPath.HasFile)
//
判断是否打开了文件
30
{
31
ds
=
new
DataSet();
//
实例化DataSet
32
xmlpath
=
fileXmlPath.PostedFile.FileName;
//
获取xml文件路径
33
int
i
=
xmlpath.LastIndexOf(
"
.
"
);
//
获取文件路径字符串中最后一个“.”
34
if
((xmlpath.Substring(i
+
1
))
==
"
xml
"
)
//
判断文件类型是不是xml
35
{
36
//
=======================================
37
//
说明:这里所说的表是指xml文件说明中的“Table”,字段是指“Column”,详见xml源文件
38
//
=======================================
39
40
ds.ReadXml(xmlpath);
41
//
读取所有的表
42
for
(
int
x
=
0
; x
<
ds.Tables.Count; x
++
)
43
{
//
输出所有的表名
44
Response.Write(
"
表名:
"
+
ds.Tables[x].TableName
+
"
:<br>
"
);
45
for
(
int
y
=
0
; y
<
ds.Tables[x].Columns.Count; y
++
)
46
{
//
读取表中的所有字段名
47
string
dsvalues;
48
dsvalues
=
ds.Tables[x].Columns[y].Caption;
49
//
输出字段名
50
Response.Write(
"
字段名:
"
+
ds.Tables[x].Columns[y].Caption
+
"
=
"
);
51
//
输出字段值
52
for
(
int
z
=
0
; z
<
ds.Tables[x].Rows.Count; z
++
)
53
{
54
Response.Write(
"
字段值:
"
+
ds.Tables[x].Rows[z][dsvalues]);
55
}
56
Response.Write(
"
<br>
"
);
57
}
58
Response.Write(
"
<br>
"
);
59
}
60
//
======================================
61
}
62
else
63
{
64
Response.Write(
"
文件类型不正确,请选择xml文件!
"
);
65
}
66
67
}
68
else
69
{
70
Response.Write(
"
你还没有选择文件!
"
);
71
72
}
73
}
74
protected
void
btnSave_Click(
object
sender, EventArgs e)
75
{
76
//
更改节点的值
77
ds.Tables[
"
格式
"
].Rows[
0
][
"
自定义节点
"
]
=
"
写入成功!
"
;
78
ds.WriteXml(xmlpath);
79
Response.Write(
"
写入成功!
"
);
80
}
81
protected
void
btnRead_Click(
object
sender, EventArgs e)
82
{
83
//
夺取两个相同节点名的值
84
Response.Write(ds.Tables[
"
聊天窗口提示IP
"
].Rows[
1
][
"
显示
"
].ToString());
85
Response.Write(
"
<br>
"
);
86
Response.Write(ds.Tables[
"
聊天窗口提示IP
"
].Rows[
0
][
"
格式
"
].ToString());
87
}
88
}
89
xml文件源码+说明:
1
<?
xml version="1.0" standalone="yes"
?>
2
<
全局设置
>
<!--
读取后默认为DataSetName,在DataSet中不显示为Table!
-->
3
<
IP
>
4
<!--
5
每个带属性的节点(除跟节点)都为一个Table,值为Tables["本节点名"].Rows["见注释(1)"]["属性名"]
6
否则为一个上级节点的一个Column,值为Tables["上级节点"].Rows["本节点是第几Column"]["本节点名"]
7
注释(1):
8
如果有与该节点名重复的节点,先读取的在第一行,“Rows["见注释(1)"]”应为“Rows[0]”,依次类推。
9
见“注释(1)例”,第20和29行。
10
-->
11
<
格式
>
12
<
自定义节点
>
自定义节点值!
</
自定义节点
>
13
<!--
例:
14
该节点值为:Tables["格式"].Rows[0]["自定义节点"]
-->
15
<
主面板悬停IP-
格式 格式
="格式值"
/>
16
<!--
例:
17
该节点值为:Tables["主面板悬停IP-格式"].Rows[0]["格式"]
-->
18
<
聊天窗口工具栏IP-
格式 格式
="格式值"
/>
19
<
聊天窗口提示IP
格式
="格式值"
/>
20
<!--
注释(1)例-1:
21
该节点值为:Tables["聊天窗口提示IP"].Rows[0]["格式"]
-->
22
<
聊天窗口标题栏IP-
格式 格式
="格式值"
/>
23
<
剪贴板-
格式 格式
="格式值"
/>
24
</
格式
>
25
<
显示参数
>
26
<
主面板悬停IP
显示
="是"
左边距
="0"
上边距
="正确"
宽度
="218"
高度
="26"
前景色
="0"
背景色
="16707022"
TM背景色
="16503223"
边框色
="10709302"
对齐
="居中"
/>
27
<
聊天窗口工具栏IP
显示
="是"
左边距
="236"
上边距
="25"
宽度
="240"
高度
="25"
前景色
="0"
背景色
="16758621"
对齐
="居中"
/>
28
<
聊天窗口提示IP
显示
="是"
前景色
="16777215"
背景色
="15769725"
延时
="50"
/>
29
<!--
注释(1)例-2:
30
如果有重复的节点名,后读取的在第二行,“Rows["见注释(1)"]”应为“Rows[0]”,依次类推
31
该节点值为:Tables["聊天窗口提示IP"].Rows[1]["显示"]
-->
32
<
聊天窗口标题栏IP
显示
="否"
/>
33
</
显示参数
>
34
<
探测参数
>
35
<
自动附加聊天图片 启用="是"
/>
36
</
探测参数
>
37
</
IP
>
38
</
全局设置
>
Tag标签:
XML
posted on 2008-05-15 17:25
落雨凌风
阅读(19)
评论(0)
编辑
收藏
所属分类:
ASP.NET
社区
新闻
新用户注册
刷新评论列表
标题
姓名
主页
Email
(只有博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2008-05-15 18:00 编辑过
另存
打印
所属分类的其他文章:
·
DataSet操作XML的一点理解
·
文件处理类简介
最新IT新闻:
·
十几万元天价笔记本电脑
·
英特尔:四核移动处理器八月推出
·
杨致远:孤独的守护人
·
SourceForge可正常访问
·
2008年7月25日IT博客精选
博客园新闻频道
博客园首页
社区