.net平台下xml操作

在日常开发中常常遇到操作xml文件,利用DataSet.Tables["表名"].WriteXml(Server.MapPath("~/文件名.xml"));固然简单,但使用起来总感觉不那么的自在,于是,自己动手吧。

1.移出XML文件所有节点和属性

    /// <summary>
    /// 移出XML文件所有节点和属性
    /// </summary>
    public void RemoveAll()
    {
        XmlDocument xd = new XmlDocument();
        xd.Load(Server.MapPath("~/Sale.xml"));//加载xml文件,路径未指定时默认在当前项目环境下
        if (xd != null)
            xd.RemoveAll();
    }

2.将查询出的数据轮换成xml文件

    /// <summary>
    /// 将查询出的数据轮换成xml文件
    /// </summary>
    public void WriteXML()
    {
        DataTable table = productService.QueryBySpeciesDate();
        XmlDocument xd = new XmlDocument();
        XmlDeclaration xmldecl = xd.CreateXmlDeclaration("1.0", null, null);
        //写入根结点
        XmlElement chart = xd.CreateElement("chart");
        xd.AppendChild(chart);
        XmlElement categories = xd.CreateElement("categories");
        chart.AppendChild(categories);
        foreach (DataRow r in table.Rows)
        {
            XmlElement item = xd.CreateElement("item");
            item.InnerText = r["Species"].ToString();
            categories.AppendChild(item);
        }
        XmlElement root = xd.DocumentElement;
        xd.InsertBefore(xmldecl, root);
        xd.Save(Server.MapPath("~/Sale.xml"));
    }

3.向XML文件插入新的节点和数据

    /// <summary>
    /// 向XML文件插入新的节点和数据
    /// </summary>
    public void InsertDataXml()
    {
        XmlDocument xd = new XmlDocument();
        xd.Load(Server.MapPath("~/Sale.xml"));//加载xml文件,路径未指定时默认在当前项目环境下
        XmlNode root = xd.SelectSingleNode("chart");//选择要添加子节点的items节点
        XmlElement series = xd.CreateElement("series");//创建一个具有指定名称的子节点
        root.AppendChild(series);
        XmlElement name = xd.CreateElement("name");
        name.InnerText = "铂金镶嵌";
        series.AppendChild(name);
        XmlElement data = xd.CreateElement("data");
        data.InnerText = "9.295000";
        series.AppendChild(data);
        xd.Save(Server.MapPath("~/Sale.xml"));
    }

ok!

posted @ 2012-04-20 14:02  烁星  阅读(208)  评论(0编辑  收藏  举报