仰天一笑
昨日不悔,今日勿失,明日莫忧! —徐羽
博客园
::
首页
::
新随笔
::
联系
::
订阅
::
管理
::
241 随笔 :: 27 文章 :: 876 评论 :: 43 引用
读写xml所有节点个人小结 和 读取xml节点的数据总结
读:
//
打开某文件(假设web.config在根目录中)
string
filename
=
Server.MapPath(
"
/
"
)
+
@"
WebApplication1\web.config
"
;
XmlDocument xmldoc
=
new
XmlDocument();
xmldoc.Load(filename);
//
得到顶层节点列表
XmlNodeList topM
=
xmldoc.DocumentElement.ChildNodes;
foreach
(XmlElement element
in
topM)
{
if
(element.Name.ToLower()
==
"
appsettings
"
)
{
//
得到该节点的子节点
XmlNodeList nodelist
=
element.ChildNodes;
if
( nodelist.Count
>
0
)
{
//
DropDownList1.Items.Clear();
foreach
(XmlElement el
in
nodelist)
//
读元素值
{
//
DropDownList1.Items.Add(el.Attributes["key"].InnerXml);
//
this.TextBox2.Text=el.Attributes["key"].InnerText;
this
.TextBox2.Text
=
el.Attributes[
"
key
"
].Value;
this
.Label1.Text
=
el.Attributes[
"
value
"
].Value;
//
同样在这里可以修改元素值,在后面save。
//
el.Attributes["value"].Value=this.TextBox2.Text;
}
}
}
}
xmldoc.Save(filename);
在某节点下增加一个元素,并设置值:
if
(element.Name.ToLower()
==
"
appsettings
"
)
{
XmlElement elem
=
xmldoc.CreateElement(
"
add
"
);
element.AppendChild(elem);
elem.InnerText
=
"
ltp
"
;
xmldoc.Save(filename);
}
效果:
<
appSettings
>
<
add key
=
"
密码
"
value
=
"
admin
"
/>
<
add
>
ltp
</
add
>
</
appSettings
>
在某节点下增加一个元素,并增加两个属性:
if
(element.Name.ToLower()
==
"
appsettings
"
)
{
XmlElement elem
=
xmldoc.CreateElement(
"
add
"
);
element.AppendChild(elem);
XmlAttribute xa
=
xmldoc.CreateAttribute(
"
key
"
);
xa.Value
=
"
ltp
"
;
XmlAttribute xa2
=
xmldoc.CreateAttribute(
"
value
"
);
xa2.Value
=
"
first
"
;
elem.SetAttributeNode(xa);
elem.SetAttributeNode(xa2);
xmldoc.Save(filename);
}
效果:
<
appSettings
>
<
add key
=
"
密码
"
value
=
"
admin
"
/>
<
add key
=
"
ltp
"
value
=
"
first
"
/>
</
appSettings
>
//
添加空元素:
XmlNode node
=
doc.CreateElement(groupname);
node.InnerText
=
""
;
doc.LastChild.AppendChild(node);
doc.Save(xmlfile);
删除一个节点元素
string
itemname
=
this
.listBox1.SelectedItem.ToString();
this
.listBox1.Items.Remove(
this
.listBox1.SelectedItem);
//
begin del xmlfile
XmlDocument doc
=
new
XmlDocument();
doc.Load(xmlfile);
XmlNodeList topM
=
doc.DocumentElement.ChildNodes;
foreach
(XmlElement element
in
topM)
{
if
(element.Name
==
this
.comboBox1.Text)
{
//
得到该节点的子节点
XmlNodeList nodelist
=
element.ChildNodes;
foreach
(XmlElement el
in
nodelist)
//
读元素值
{
if
(el.Attributes[
"
key
"
].Value
==
itemname)
{
element.RemoveChild(el);
}
}
//
循环元素
}
//
得到组
}
//
循环组
doc.Save(xmlfile);
//
一定要保存一下,否则不起作用
//
筛选数据
private
void
Reader_Xml(
string
pathFlie)
{
XmlDocument Xmldoc
=
new
XmlDocument();
Xmldoc.Load(pathFlie);
XmlNodeList Record1
=
Xmldoc.DocumentElement.SelectNodes(Code[@id
=
'
1
'
])
int
f
=
0
;
foreach
(XmlNode xnode
in
Record1)
{
}
}
/**/
/*
读取xml数据 两种xml方式
*/
<
aaa
>
<
bb
>
something
</
bb
>
<
cc
>
something
</
cc
>
</
aaa
>
<
aaa
>
<
add key
=
"
123
"
value
=
"
321
"
/>
</
aaa
>
/**/
/*
第一种方法
*/
DS.ReadXml(
"
your xmlfile name
"
);
Container.DataItem(
"
bb
"
);
Container.DataItem(
"
cc
"
);
DS.ReadXmlSchema(
"
your xmlfile name
"
);
/**/
/*
第二种方法
*/
<
aaa
>
<
add key
=
"
123
"
value
=
"
321
"
/>
</
aaa
>
如果我要找到123然后取到321应该怎么写呢?
using
System.XML;
XmlDataDocument xmlDoc
=
new
System.Xml.XmlDataDocument();
xmlDoc.Load(
@"
c:\Config.xml
"
);
XmlElement elem
=
xmlDoc.GetElementById(
"
add
"
);
string
str
=
elem.Attributes[
"
value
"
].Value
/**/
/*
第三种方法: SelectSingleNode 读取两种格式的xml *---/
--------------------------------------------------------------------
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<ConnectionString>Data Source=yf; user id=ctm_dbo;password=123</ConnectionString>
</appSettings>
</configuration>
--------------------------------------------------------------------------
XmlDocument doc = new XmlDocument();
doc.Load(strXmlName);
XmlNode node=doc.SelectSingleNode("/configuration/appSettings/ConnectionString");
if(node!=null)
{
string k1=node.Value; //null
string k2=node.InnerText;//Data Source=yf; user id=ctm_dbo;password=123
string k3=node.InnerXml;//Data Source=yf; user id=ctm_dbo;password=123
node=null;
}
********************************************************************
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="ConnectionString" value="Data Source=yf; user id=ctm_dbo;password=123" />
</appSettings>
</configuration>
**--------------------------------------------------------------------**
XmlNode node=doc.SelectSingleNode("/configuration/appSettings/add");
if(node!=null)
{
string k=node.Attributes["key"].Value;
string v=node.Attributes["value"].Value;
node=null;
}
*--------------------------------------------------------------------*
XmlNode node=doc.SelectSingleNode("/configuration/appSettings/add");
if(node!=null)
{
XmlNodeReader nr=new XmlNodeReader(node);
nr.MoveToContent();
//检查当前节点是否是内容节点。如果此节点不是内容节点,则读取器向前跳至下一个内容节点或文件结尾。
nr.MoveToAttribute("value");
string s=nr.Value;
node=null;
}
posted on 2006-12-18 13:58
仰天一笑
阅读(2303)
评论(3)
编辑
收藏
网摘
所属分类:
Javascript/Ajax/XML
评论
#1楼
2007-02-02 23:13
利比亚
不错!
学习了下
回复
引用
查看
#2楼
2008-10-24 17:51
leolion[未注册用户]
非常好,什么的
回复
引用
刷新评论
切换模板
发表评论
昵称:
[登录]
[注册]
主页:
邮箱:
(仅博主可见)
验证码:
看不清,换一个
评论内容:
登录
注册
[使用Ctrl+Enter键快速提交评论]
0
595637
导航:
网站首页
社区
新闻
博问
闪存
网摘
招聘
找找看
Google搜索
China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
China-Pub 计算机绝版图书按需印刷服务
相关文章:
最新IT新闻:
19岁天才黑客发布首个iPhone 3GS破解软件
新浪邮箱大本营粉墨登场!Sina.cn开放注册
IE市场份额首次跌破60%
Google App Engine宕机6小时——云的安全在哪里?
微软新推社交网站Windows Live Planet
相关链接:
公告
一、版权归原创作者所有。
二、坚持挖掘互联网宝藏。
三、重在技术交流,共享知识。
四、技术文章包括asp.net、seo、ajax、css、javascript等。
Email:ansonxy@gmail.com
MSN:dingxi819@yahoo.com.cn
我的最新闪存
今天收获不小,要更加努力
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
留言簿
给我留言
查看留言
我参加的小组
WEB程序安全小组
我参与的团队
上海.NET俱乐部(0/0)
Ajax&Atlas技术团队(0/0)
软件项目管理团队(0/0)
.net企业应用开发(0/0)
我的标签
火车站售票点
(1)
上海火车站售票点
(1)
上海火车票预定送票公司
(1)
一票难求
(1)
海量查询
(1)
无限分级
(1)
树形结构数据查询
(1)
datatable
(1)
dataview
(1)
datatable和dataview
(1)
更多
随笔分类
(268)
ASP.Net-C#(75)
(rss)
CSS(1)
(rss)
DataBase(31)
(rss)
Javascript/Ajax/XML(49)
(rss)
产品专卖(4)
(rss)
电子商务
(rss)
古风古韵(10)
(rss)
谈天论地(31)
(rss)
网站建设(30)
(rss)
原创天地(37)
(rss)
文章分类
(27)
DotNet(12)
(rss)
DRM(5)
(rss)
Electronic Commerce(2)
(rss)
JavaScript(3)
(rss)
software engineering (5)
(rss)
相册
汇亚创意设计
上海汇亚科技公司
收藏夹
(202)
.Text(11)
(rss)
ADO.Net(4)
(rss)
Ajax/XML(10)
(rss)
ASP.Net(53)
(rss)
C#(6)
(rss)
DataBase(6)
(rss)
DataGrid(12)
(rss)
Html/Css(6)
(rss)
IIS(1)
(rss)
Script(24)
(rss)
搜索引擎(11)
(rss)
谈天论地(8)
(rss)
网站优化/推广(9)
(rss)
网址收集(23)
(rss)
项目管理(9)
(rss)
源代码(9)
(rss)
My Links
dudu
(rss)
jackei
(rss)
net366_汇亚科技
seo探索
公司BLOG
(rss)
海东
(rss)
黑梦SEO
汇亚创意设计
酷勤网
樂思蜀SEO博客
(rss)
李天平
(rss)
网络安全
兄弟blog
最新随笔
1. 几种常见的FTP软件的二进制设置说明
2. fckeditor在IE7下不显示
3. Div样式总结
4. 2003服务器 查IIS 挂马全过程(ARP挂马)
5. t-sql整理(转)
6. 防止卡巴被封的几点小常识供大家参考
7. SQLServer修改表所有者
8. onscroll事件导致flash叠影效果--setTimeout的妙用
9. Sql Server数据库被置疑后解决方法
10. [转]十二时辰养生法
11. 安装SQL SERVER2000提示注册表文件被挂起的解决方案
12. [转]科学思维-智慧国王故事
13. 23条心灵寄语献给在创业一线的兄弟姐妹
14. 余士维讲座中的十八个故事[转载]
15. DataTable 和 DataView 的理解
16. [推荐]无限分级数量查询优化
17. 一票难求-摘二片小诗已解胸口之闷
18. 上海火车站售票点
19. ERP项目管理12要点
20. ASP.NET常用代码
21. asp.net c#中对cookie的操作
22. 如何搭建企业局域网共享
23. SQL Sever安装问题
24. Asp.Net Web项目打包
25. 韩文数据库存取乱码解决方案
26. Seomoz年度Web2.0排名 中国网站无一入围
27. 数据库存取非简体中文出现乱码的解决
28. 商业网站设计主要原则
29. 网站策划,网站建设的重中之重
30. 软件项目实施规范小结
31. iis权限设置
32. 如何设置SQL Server 全文搜索
33. 批处理命令小集
34. 批量生成虚拟目录
35. 上海公交路线一览表
36. 抽闲破个案,放松一下(1)
37. IIS健全应用程序池设置
38. 《亮剑》李云龙原型之一:王近山中将
39. 如何清除木马--104种木马手工清除方法
40. 流媒体数字版权控制系统DRM
Google搜索
积分与排名
积分 - 510019
排名 - 57
最新评论
1. re: 上海长途汽车站客运站点及时刻表
请问从武汉到枣阳的车有那几个时间段
--梦想♂
2. re: onscroll事件导致flash叠影效果--setTimeout的妙用
这个方法我用过了,没有用呀。<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML...
--lanhai002
3. re: 管理者必读的四个小故事
您好,看您这篇文章,觉得很不错,不好意思没有经过您的同意我就将您的文章转我的网站上去了,如有不是还请谅解,谢谢!如果有什么事您可以发邮件到此邮箱macauley@163.com
--minmandy
4. re: [整理]asp.net 上传大文件解决方案
有没有AspnetUpload中dll的源代码,请发一份给我好吗,谢谢楼主!
lizhimin0310@163.com
--zhiminli
5. re: 数据库存取非简体中文出现乱码的解决
查了很多资料没有解决,楼主的帖子帮我解决了(第1和2条)
thx
--过客1
阅读排行榜
1. 上海长途汽车站客运站点及时刻表(44080)
2. ArrayList用法(26447)
3. 推荐--jQuery使用手册(24007)
4. 李白诗集(19504)
5. 推荐-高质量C++/C编程指南(林锐)(16139)
6. 经典推荐--.Net面试法宝(面试题收集)(15133)
7. 上海公交路线一览表(10121)
8. “SQL Server不存在或访问被拒绝”问题的解决(8524)
9. DataGrid中DropDownList的动态绑定和触发DropDownList事件(7660)
10. 远程连接SQL Server(7578)
11. [原]用window.location.href实现刷新另个框架页面(5638)
12. IIS启动不了(意外错误0x8ffe2740)(5246)
13. javascript实现datagrid客户端checkbox列的全选,反选 (5088)
14. window.close关闭窗口,不弹出系统提示,直接关闭(5048)
15. 征集佳句-精妙SQL语句收集(5003)
16. [整理]asp.net 上传大文件解决方案(4877)
17. Js+XML 操作(4788)
18. 关键字加亮--JS方法(4648)
19. location用法简单介绍(4546)
20. [强烈推荐]新手入门提速器,有了他,ASP.NET问题将迎刃而解(4297)
21. Sql Server数据库的备份和恢复措施(3949)
22. [转贴]Hello NHibernate(3794)
23. C# 中的类型转换(3729)
24. js事件列表(3666)
25. ASP.Net防止刷新自动触发事件的解决方案(3621)
26. 按比例缩放图片(3600)
27. 唐伯虎诗词(3441)
28. 抓取Web网页数据分析(3387)
29. ASP.NET 网站路径(3275)
30. [原]简易文本编辑器源码(3267)
31. 在C#中应用哈希表(Hashtable)(3209)
32. 不要让SQLServer自动转换害了你!(3198)
33. [原]Ajax简单客户登陆验证(3170)
34. 经典推荐—.NET相关最好东东(全球最新评价)(3164)
35. 界面设计测试规范(3160)
36. 满汉全席菜谱收藏版(3154)
37. [原]提交页面的定位--scrollIntoView的用法(3111)
38. DataGrid自动编号之黄金版(2990)
39. 如何搭建企业局域网共享(2851)
40. 正则表达式过滤HTML危险脚本(2755)
评论排行榜
1. [整理]asp.net 上传大文件解决方案(87)
2. 上海长途汽车站客运站点及时刻表(49)
3. 推荐--jQuery使用手册(39)
4. ArrayList用法(36)
5. 关键字加亮--JS方法(23)
6. 经典推荐--.Net面试法宝(面试题收集)(22)
7. 李白诗集(22)
8. “SQL Server不存在或访问被拒绝”问题的解决(21)
9. javascript实现datagrid客户端checkbox列的全选,反选 (18)
10. [推荐]测试你有没有经理头脑(17)