转化
#region xml文件内容转化为DataSet
/// <summary>
/// xml文件内容转化为DataSet
/// </summary>
/// <param name="XmlFilePath"></param>
/// <returns></returns>
public static DataSet XmlToDataSet(string XmlFilePath)
{
DataSet ds = new DataSet();
ds.ReadXml(XmlFilePath);
return ds;
}
#endregion#region DataSet保存为Xml文件
/// <summary>
/// DataSet保存为Xml文件
/// </summary>
/// <param name="ds"></param>
/// <param name="XmlFilePath">Xml文件的物理全路径</param>
/// <returns>返回错误提示信息,空表示没错误</returns>
public static string DataSetToXmlFile(DataSet ds, string XmlFilePath)
{
string ErrorString = "";
XmlDataDocument xd = new XmlDataDocument(ds);
xd.Save(XmlFilePath);
return ErrorString;
}
#endregion
操作XML
/// <summary>
/// 读取Web.config中的配置
/// </summary>
private void ReadWeb_config()
{
XmlDocument xmldoc = new XmlDocument();//新xml文档对象
xmldoc.Load(Server.MapPath("Web.config")); // 加载现有的xml文档XmlNodeList appsettingslist = xmldoc.SelectNodes("/configuration/appSettings/add");//查找节点集合
foreach (XmlNode node in appsettingslist)
{
XmlElement xe = (XmlElement)node;
Response.Write("key:"+xe.Attributes["key"].Value+"<br/>");
Response.Write("value:" + xe.Attributes["value"].Value + "<br/>");
}
}/// <summary>
/// 创建xml文档
/// </summary>
private void testCreate()
{
XmlDocument xmldoc = new XmlDocument();//新xml文档对象
//xmldoc.Load(Server.MapPath("data.xml")); // 这句可以加载现有的xml文档//加入XML的声明段落,<?xml version="1.0" encoding="gb2312"?>
XmlDeclaration xmldecl = xmldoc.CreateXmlDeclaration("1.0", "gb2312", null);
xmldoc.AppendChild(xmldecl);//元素加入到文档XmlElement xmlelem = xmldoc.CreateElement("", "myroot", "");
xmldoc.AppendChild(xmlelem);//文档加入一个(根)节点 myrootXmlNode root = xmldoc.SelectSingleNode("myroot");//查找唯一的节点"myroot"这个根结点
XmlElement appsetings=xmldoc.CreateElement("appSettings");
root.AppendChild(appsetings);//在根结点下加入appSettings节点
XmlNode appsettingdNode=root.FirstChild;//root下面创建的唯一的子结点appsettings
//加入另外的子元素
for (int i = 1; i <= 4; i++)
{XmlElement xe1 = xmldoc.CreateElement("add");//创建一个<Node>节点
xe1.SetAttribute("key", "key"+i);//设置该节点key属性
xe1.SetAttribute("value", "value"+i);//设置该节点value属性appsettingdNode.AppendChild(xe1);
}
xmldoc.Save(Server.MapPath("data.xml"));//操作修改完成后得保存
Response.Write("创建成功!");
}/// <summary>
/// 查找和修改xml文档
/// </summary>
private void testModify()
{
XmlDocument xmldoc = new XmlDocument();//新xml文档对象
xmldoc.Load(Server.MapPath("data.xml")); // 加载现有的xml文档XmlNode root = xmldoc.SelectSingleNode("myroot");//查找唯一的节点"myroot"这个根结点
XmlNodeList list = root.FirstChild.ChildNodes;//第三层(xml自己要知道结构才能更精确定地查找)节点集合//加入另外的子元素
foreach (XmlNode node1 in list)
{
XmlElement xe1 = (XmlElement)node1;//节点转换为元素来处理。
if (xe1.GetAttribute("key") == "key1") //查到key值为key1的节点
{
xe1.SetAttribute("value", "modified_value");//更新该节点value属性
}
}
// RemoveAttribute、RemoveChild 分别为删除属性和子节点 。
xmldoc.Save(Server.MapPath("data.xml"));//操作修改完成后得保存
Response.Write("修改成功!");
}