自学成菜
Files(F)|View(V)|Operation(O)|Help(H)--------
博客园
::
首页
:: :: :: ::
管理
::
〔转〕操作xml
using
System;
using
System.Xml;
using
System.Text;
using
System.IO;
using
System.Data;
namespace
TestCenter.XMLData
{
/**/
///
<summary>
///
XMLHandle XML操作。
///
示例:
///
string strXmlFile = Server.MapPath("MyXML.xml");
///
XMLHandle xmlHandle = new XmlControl(strXmlFile);
///
DataView dv=xmlHandle.GetData("BackAdmin/User/Name");
///
///
</summary>
public
class
XMLHandle
{
protected
string
strXmlFile;
//
操纵的XML文档路径
protected
XmlDocument objXmlDoc
=
new
XmlDocument();
/**/
///
<summary>
///
构造函数
///
</summary>
///
<param name="XmlFile">
XML文件的路径 初始化类时指定
</param>
public
XMLHandle(
string
XmlFile)
{
try
{
objXmlDoc.Load(XmlFile);
}
catch
(System.Exception ex)
{
throw
ex;
}
strXmlFile
=
XmlFile;
}
/**/
///
<summary>
///
查找指定节点的数据 返回DataView
///
</summary>
///
<param name="XmlPathNode"></param>
///
<returns>
DataView
</returns>
public
DataView GetData(
string
XmlPathNode)
{
DataSet dst
=
new
DataSet();
StringReader read
=
new
StringReader(objXmlDoc.SelectSingleNode(XmlPathNode).OuterXml);
dst.ReadXml(read);
return
dst.Tables[
0
].DefaultView;
}
/**/
///
<summary>
///
更新指定节点的内容
///
</summary>
///
<param name="XmlPathNode">
节点
</param>
///
<param name="Content">
内容
</param>
public
void
Replace(
string
XmlPathNode,
string
Content)
{
objXmlDoc.SelectSingleNode(XmlPathNode).InnerText
=
Content;
}
/**/
///
<summary>
///
删除指定节点
///
</summary>
///
<param name="Node">
节点
</param>
public
void
Delete(
string
Node)
{
string
mainNode
=
Node.Substring(
0
,Node.LastIndexOf(
"
/
"
));
objXmlDoc.SelectSingleNode(mainNode).RemoveChild(objXmlDoc.SelectSingleNode(Node));
}
/**/
///
<summary>
///
插入一个节点和此节点的一子节点。
///
</summary>
///
<param name="MainNode">
主节点
</param>
///
<param name="ChildNode">
子节点
</param>
///
<param name="Element">
元素名
</param>
///
<param name="Content">
值
</param>
public
void
InsertNode(
string
MainNode,
string
ChildNode,
string
Element,
string
Content)
{
XmlNode objRootNode
=
objXmlDoc.SelectSingleNode(MainNode);
XmlElement objChildNode
=
objXmlDoc.CreateElement(ChildNode);
objRootNode.AppendChild(objChildNode);
XmlElement objElement
=
objXmlDoc.CreateElement(Element);
objElement.InnerText
=
Content;
objChildNode.AppendChild(objElement);
}
/**/
///
<summary>
///
插入一节点 包括一个属性
///
</summary>
///
<param name="MainNode"></param>
///
<param name="Element"></param>
///
<param name="Attrib"></param>
///
<param name="AttribContent"></param>
///
<param name="Content"></param>
public
void
InsertElement(
string
MainNode,
string
Element,
string
Attrib,
string
AttribContent,
string
Content)
{
XmlNode objNode
=
objXmlDoc.SelectSingleNode(MainNode);
XmlElement objElement
=
objXmlDoc.CreateElement(Element);
objElement.SetAttribute(Attrib,AttribContent);
objElement.InnerText
=
Content;
objNode.AppendChild(objElement);
}
/**/
///
<summary>
///
插入一节点不带属性
///
</summary>
///
<param name="MainNode"></param>
///
<param name="Element"></param>
///
<param name="Content"></param>
public
void
InsertElement(
string
MainNode,
string
Element,
string
Content)
{
XmlNode objNode
=
objXmlDoc.SelectSingleNode(MainNode);
XmlElement objElement
=
objXmlDoc.CreateElement(Element);
objElement.InnerText
=
Content;
objNode.AppendChild(objElement);
}
/**/
///
<summary>
///
保存文档
///
</summary>
public
void
Save()
{
try
{
objXmlDoc.Save(strXmlFile);
}
catch
(System.Exception ex)
{
throw
new
System.Exception(ex.ToString());
}
objXmlDoc
=
null
;
}
}
}
posted on 2006-12-22 00:01
利比亚
阅读(29)
评论(0)
编辑
收藏
社区
新闻
新用户注册
刷新评论列表
标题
姓名
主页
Email
(只有博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
最新IT新闻:
·
第一财经周刊:当前互联网世界正处无秩序时代
·
Visual Studio 2008 SDK 1.1 发布
·
死敌VMware变身微软认证计划新成员
·
英特尔雅虎开发网络计算机频道
·
Windows Live视频邮件9月9日开始测试
博客园新闻频道
博客园首页
社区
<
2006年12月
>
日
一
二
三
四
五
六
26
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
搜索
留言簿
给我留言
查看留言
相册
ScreenShot
最新随笔
1. 怎样获得正在下载的文件URL?
2. 百度的搜索链接怎样产生?
3. MapGIS与SQL数据库的连接
4. [原创] 网站联盟 账号通行证 一次登陆,畅通www
5. 〔转〕操作xml
6. 怎样调用按钮事件?
7. 汗!还以为这个地方被老板收走了.赶紧写点东西~~开篇就写了这个~~
积分与排名
积分 - 2158
排名 - 7069
最新评论
Powered by:
博客园
Copyright © 利比亚