您的位置:首页 > 编程语言 > C#

c# 操作 xml 文件的 自定义类

2013-12-15 23:56 537 查看
方便 以后操作xml文件,写的类,未完全测试,有问题我会修正

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Xml;
using System.Windows.Forms;
using System.Threading;

namespace SmartDeviceProject1.untils
{
class xmlFile
{
private XmlDocument m_Doc;
private string m_Path;
public xmlFile(string path)
{
m_Path = path;
m_Doc = new XmlDocument();
m_Doc.Load(m_Path);
}
//-------------------------------------------------------------
//删除父节点下的所有子节点  例如 DelChildNode("CONFIG/testNode")
//-------------------------------------------------------------
public void DelChildNode(string nodePathName)
{
XmlNodeList xnl = m_Doc.SelectNodes(nodePathName);
foreach (XmlNode xn in xnl)
{
xn.RemoveAll();
}
m_Doc.Save(m_Path);
}
//-------------------------------------------------------------
//在父节点下添加子节点
//-------------------------------------------------------------
public void AddChildNode(string nodeParentPathName,string nodeChildName)
{
XmlElement xelKey;
xelKey = (XmlElement)m_Doc.SelectSingleNode(nodeParentPathName +"/"+ nodeChildName);
if (xelKey == null) xelKey = m_Doc.CreateElement(nodeChildName);

XmlNode parentNode = m_Doc.SelectSingleNode(nodeParentPathName);
parentNode.AppendChild(xelKey);
m_Doc.Save(m_Path);
}
//-------------------------------------------------------------
//给子节点添加成员
//-------------------------------------------------------------
public void ChildNodeAddInner(string nodeParentPathName, string nodeChildName, string innerName, string innerValue)
{
XmlElement xelKey;
XmlElement xelInner;

xelKey = (XmlElement)m_Doc.SelectSingleNode(nodeParentPathName + "/" + nodeChildName);
if (xelKey == null) xelKey = m_Doc.CreateElement(nodeChildName);

xelInner = m_Doc.CreateElement(innerName);
xelInner.InnerText = innerValue;
xelKey.AppendChild(xelInner);

XmlNode parentNode = m_Doc.SelectSingleNode(nodeParentPathName);
parentNode.AppendChild(xelKey);
m_Doc.Save(m_Path);
}
//-------------------------------------------------------------
//给子节点设置属性
//-------------------------------------------------------------
public void ChildNodeSetAttribute(string nodeParentPathName, string nodeChildName, string attributeName, string attributeValue)
{
XmlElement xelKey;
XmlAttribute xelAttribute;

xelKey = (XmlElement)m_Doc.SelectSingleNode(nodeParentPathName + "/" + nodeChildName);
if (xelKey == null) xelKey = m_Doc.CreateElement(nodeChildName);

xelAttribute = m_Doc.CreateAttribute(attributeName);
xelAttribute.InnerText = attributeValue;
xelKey.SetAttributeNode(xelAttribute);

XmlNode parentNode = m_Doc.SelectSingleNode(nodeParentPathName);
parentNode.AppendChild(xelKey);
m_Doc.Save(m_Path);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: