zoukankan      html  css  js  c++  java
  • C# 创建,读取,写入 XML文件

    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);
            }
        }
  • 相关阅读:
    leetcode Remove Linked List Elements
    leetcode Word Pattern
    leetcode Isomorphic Strings
    leetcode Valid Parentheses
    leetcode Remove Nth Node From End of List
    leetcode Contains Duplicate II
    leetcode Rectangle Area
    leetcode Length of Last Word
    leetcode Valid Sudoku
    leetcode Reverse Bits
  • 原文地址:https://www.cnblogs.com/lishuo/p/4022547.html
Copyright © 2011-2022 走看看