您的位置:首页 > 其它

这是一个关于XML文档的操作管理器XMLHelper类,类中包括XML文档的创建,文档节点和属性的读取,添加,修改,删除的方法功能的实现

2009-04-02 01:58 1716 查看
  经过这些日子以来,我根据上篇随笔中读写程序配置文件节点的方法来扩展了其功能,并写了这个XML文档的操作管理帮助类XMLHelper出来,这个XMLHelper类中包括了XML文档的创建,文档节点和属性的读取,添加,修改,删除的方法功能的实现,有兴趣的朋友,可以进来看看,所有代码都在WebForm和WinForm中调试通过.

参考我的上篇随笔:关于C#和ASP.NET中对App.config和Web.config文件里的[appSettings]和[connectionStrings]节点进行新增、修改、删除和读取相关的操作

这是下面要操作的XML文档:

//======================================================================

2//

3// Copyright(C) 2009-2010 连林SoftWare工作室

4// All Rights Reserved

5//

6// FileName: XMLHelper

7// Description: XML文档帮助类,静态方法,实现对

8// XML文档的创建,及节点和属性的增、删、改、查

9//

10// Author: Wang Lian Lin(王连林)

11// CLR版本: 2.0.50727.42

12// MachineName: WLL

13// 注册组织名: WLL

14// Created By Wang Lian Lin(王连林) at 2009-3-22 16:50:44

15// Email: LianLin.Wang@163.com

16// http://chnboy.cnblogs.com
17//

18//======================================================================

19using System;

20using System.Xml;

21

22public class XMLHelper

26

1.创建XML文档:

     //这是XML文档根节点名

string rootNodeName = "books";

//这是XML文档物理文件名(包含物理路径)

string xmlFileName = Application.StartupPath + @"\book.xml";

XMLHelper.CreateXmlDocument(xmlFileName, rootNodeName, "1.0", "utf-8", null);

MessageBox.Show("XML文档创建成功:" + xmlFileName);

2.向XML文档中添加一个新节点:

string xmlFileName = Application.StartupPath + @"\book.xml";

string xpath = "/books"; //这是新节点的父节点路径

string nodename = "book"; //这是新节点名称,在父节点下新增

string nodetext = "这是新节点中的文本值";

bool isSuccess = XMLHelper.CreateOrUpdateXmlNodeByXPath(xmlFileName, xpath, nodename, nodetext);

MessageBox.Show("XML节点添加或更新成功:" + isSuccess.ToString());

3.向XML文档中的子节点中新增或修改(如果存在则修改)一个子节点,比如name,author,date节点等:

string xmlFileName = Application.StartupPath + @"\book.xml";

string xpath = "/books/book"; //这是新子节点的父节点路径

string nodename = "name"; //这是新子节点名称,在父节点下新增

string nodetext = "我的世界我的梦";

bool isSuccess = XMLHelper.CreateOrUpdateXmlNodeByXPath(xmlFileName, xpath, nodename, nodetext);

MessageBox.Show("XML节点添加或更新成功:" + isSuccess.ToString());

4. 向XML文档中的子节点中新增或修改(如果存在则修改)一个子节点属性,比如id,ISDN属性等:

string xmlFileName = Application.StartupPath + @"\book.xml";

string xpath = "/books/book"; //要新增属性的节点

string attributeName = "id"; //新属性名称,ISDN号也是这么新增的

string attributeValue = "1"; //新属性值

bool isSuccess = XMLHelper.CreateOrUpdateXmlAttributeByXPath(xmlFileName, xpath, attributeName, attributeValue);

MessageBox.Show("XML属性添加或更新成功:" + isSuccess.ToString());

5. 删除XML文档中的子节点:

string xmlFileName = Application.StartupPath + @"\book.xml";

string xpath = "/books/book[@id='1']"; //要删除的id为1的book子节点

bool isSuccess = XMLHelper.DeleteXmlNodeByXPath(xmlFileName, xpath);

MessageBox.Show("XML节点删除成功:" + isSuccess.ToString());

6. 删除XML文档中子节点的属性:

string xmlFileName = Application.StartupPath + @"\book.xml";

//删除id为2的book子节点中的ISDN属性

string xpath = "/books/book[@id='2']";

string attributeName = "ISDN";

bool isSuccess = XMLHelper.DeleteXmlAttributeByXPath(xmlFileName, xpath,attributeName);

MessageBox.Show("XML属性删除成功:" + isSuccess.ToString());

7.读取XML文档中的所有子节点:

string xmlFileName = Application.StartupPath + @"\book.xml";

//要读的id为1的book子节点

string xpath = "/books/book[@id='1']";

XmlNodeList nodeList = XMLHelper.GetXmlNodeListByXpath(xmlFileName, xpath);

string strAllNode = "";

//遍历节点中所有的子节点

foreach (XmlNode node in nodeList)

{

strAllNode += "\n name:" + node.Name + " InnerText:" + node.InnerText;

}

MessageBox.Show("XML节点中所有子节点有:" + strAllNode);

8.其它的方法我就不一一的例举了,各位自己动手去尝试便知,关键的地方就是那个xpath的参数设置了,

这个是XML文档中xpath语法,大家去网上一查便明白,好了,我要休息去,明白偶还有很多的工作做...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐