一个比较有用的XML文件操作类 C#代码 可以继续扩展

此博客展示了一个用C#编写的CXml类,用于操作XML文件。该类包含构造函数,可加载XML文件,还有获取数据、更新节点内容、删除节点、插入节点和元素等方法,最后提供保存XML文件的方法。

public class CXml

{

private string strXmlFile;

private XmlDocument objXmlDoc = new XmlDocument();

public CXml(string xmlFile)

{

//构造函数

try

{

objXmlDoc.Load(xmlFile);

}

catch

{

}

strXmlFile = xmlFile;

}

public DataView GetData(string xmlPathNode)

{

//查找数据返回一个DataView

DataSet ds = new DataSet();

StringReader read = new StringReader(objXmlDoc.SelectSingleNode(xmlPathNode).OuterXml);

ds.ReadXml(read);

return ds.Tables[0].DefaultView;

}

public void Replace(string xmlPathNode,string content)

{

//更新节点內容

objXmlDoc.SelectSingleNode(xmlPathNode).InnerText = content;

}

public void Delete(string node)

{

//刪除一个节点

string mainNode = node.Substring(0,node.LastIndexOf("/"));

objXmlDoc.SelectSingleNode(mainNode).RemoveChild(objXmlDoc.SelectSingleNode(node));

}

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);

}

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);

}

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);

}

public void Save()

{

//保存XML文件

try

{

objXmlDoc.Save(strXmlFile);

}

catch

{

}

objXmlDoc = null;

}

}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值