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);
            }
        }
  • 相关阅读:
    python学习笔记二
    计网第三章
    python学习笔记一
    Java基础第二十七天总结——网络编程
    Java基础第二十六天总结——IO流
    Java基础第二十五天总结——泛型
    Java基础第二十四天总结——集合
    Java基础第二十三天总结——集合
    Java基础第二十二天总结——枚举类与注解
    Java基础第二十一天总结——日期时间API
  • 原文地址:https://www.cnblogs.com/lishuo/p/4022547.html
Copyright © 2011-2022 走看看