C# 创建,读取,写入 XML文件1

XML格式如下

<?xml version="1.0" encoding="utf-8"?>
<Advertisements>
  <Ad>
    <ImageUrl>001.jpg</ImageUrl>
    <NavigateUrl>001.aspx</NavigateUrl>
    <Impressions>10</Impressions>
    <Keyword>gucas01</Keyword>
  </Ad>
  <Ad>
    <ImageUrl>002.jpg</ImageUrl>
    <NavigateUrl>002.aspx</NavigateUrl>
    <Impressions>20</Impressions>
    <Keyword>gucas02</Keyword>
  </Ad>
  <Ad>
    <ImageUrl>003.jpg</ImageUrl>
    <NavigateUrl>003.aspx</NavigateUrl>
    <Impressions>30</Impressions>
    <Keyword>gucas03</Keyword>
  </Ad>
  <Ad>
    <ImageUrl>004.jpg</ImageUrl>
    <NavigateUrl>004.aspx</NavigateUrl>
    <Impressions>40</Impressions>
    <Keyword>gucas04</Keyword>
  </Ad>
  <Ad>
    <ImageUrl>005.jpg</ImageUrl>
    <NavigateUrl>005.aspx</NavigateUrl>
    <Impressions>50</Impressions>
    <Keyword>gucas05</Keyword>
  </Ad>
  <Ad>
    <ImageUrl>google.gif</ImageUrl>
    <NavigateUrl>http://www.google.com</NavigateUrl>
    <Impressions>30</Impressions>
    <Keyword>google</Keyword>
  </Ad>
</Advertisements>

 

对XML文件的操作

 

/// <summary>
    /// 创建XML文件
    /// </summary>
    /// <param name="filename"></param>
    public void CreateXmlFile(string filename)
    {
        XmlDocument xmldoc = new XmlDocument();
        XmlNode node;
        node = xmldoc.CreateXmlDeclaration("1.0", "utf-8", null);
        xmldoc.AppendChild(node);
        XmlNode root = xmldoc.CreateElement("Users");
        xmldoc.AppendChild(root);
        CreateNode(xmldoc, root, "UserName", "zhengyd");
        CreateNode(xmldoc, root, "Email", "zhengyd@gucas.ac,cn");
        CreateNode(xmldoc, root, "Url", "www.gucas.an,cn");
        CreateNode(xmldoc, root, "Age", "27");
        try
        {
            xmldoc.Save(Server.MapPath(filename));
            Response.Write("创建XML文件myxml.xml成功!");
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }
    }
    /// <summary>
    /// 写入XML文件
    /// </summary>
    /// <param name="file"></param>
    public void WriteXmlFile(string file)
    {
        XmlDocument xmdoc = new XmlDocument();
        try
        {
            xmdoc.Load(Server.MapPath(file));
            XmlNode root = xmdoc.SelectSingleNode("Advertisements");
            if (root != null)
            {
                XmlNode node = xmdoc.CreateNode(XmlNodeType.Element, "Ad", null);
                CreateNode(xmdoc, node, "ImageUrl", "google.gif");
                CreateNode(xmdoc, node, "NavigateUrl", "http://www.google.com");
                CreateNode(xmdoc, node, "Impressions", "30");
                CreateNode(xmdoc, node, "Keyword", "google");
                root.AppendChild(node);
            }
            xmdoc.Save(Server.MapPath(file));
            Response.Write("写入XML文件XMLFile.xml成功。<br>");
        }
        catch(Exception ex) {
            Response.Write(ex.Message);
        }
    }
    /// <summary>
    /// 创建节点
    /// </summary>
    /// <param name="xmldoc"></param>
    /// <param name="parentnode"></param>
    /// <param name="name"></param>
    /// <param name="value"></param>
    public void CreateNode(XmlDocument xmldoc, XmlNode parentnode, string name, string value)
    {
        XmlNode node = xmldoc.CreateNode(XmlNodeType.Element, name, null);
        node.InnerText = value;
        parentnode.AppendChild(node);
    }

    /// <summary>
    /// 读取XML文件
    /// </summary>
    /// <param name="file"></param>
    private void ReadFile(string file)
    {
        XmlDocument xmldoc = new XmlDocument();
        try
        {
            xmldoc.Load(Server.MapPath(file));
            XmlNode node = xmldoc.SelectSingleNode("Advertisements");
            if (node != null)
            {
                TreeNode root = new TreeNode();
                root.Text = node.Name;
                tvXml.Nodes.Add(root);
                foreach (XmlNode xnode in xmldoc.SelectNodes("Advertisements/Ad"))
                {
                    TreeNode tnode = new TreeNode();
                    tnode.Text = Server.HtmlEncode("<" + xnode.Name + ">");
                    root.ChildNodes.Add(tnode);
                        foreach (XmlNode xcnode in xnode.ChildNodes)
                        {
                            TreeNode tcnode = new TreeNode();
                            tcnode.Text = Server.HtmlEncode("<" + xcnode.Name + ">" + xcnode.InnerText + "</" + xcnode.Name + ">");
                            tnode.ChildNodes.Add(tcnode);
                        }
                    TreeNode ttnode = new TreeNode();
                    ttnode.Text = Server.HtmlEncode("</" + xnode.Name + "");
                    root.ChildNodes.Add(ttnode);
                }
                TreeNode tpnode = new TreeNode();
                tpnode.Text = Server.HtmlEncode("</" + node.Name + ">");
                tvXml.Nodes.Add(tpnode);
            }
        }
        catch (Exception ex)
        {
            Response.Write(ex.Message);
        }
    }

 

C# 创建,读取,写入 XML文件1

上一篇:delphi中使用SocketStream读写数据的技巧


下一篇:VS2012 黑色护眼主题