• 在C#中创建和读取XML文件


    项目中需要将前台页面中的信息保存下来并存储为xml文件格式到数据库中去。因此我先在这里通过一个小实例来学习xml的创建与读取。

    本文部分参考http://blog.csdn.net/lengjing126/archive/2009/08/12/4438042.aspx

    1.创建简单的XML文件

    为了便于测试,我们首先创建控制台应用程序,项目命名为CreateXml,Program.cs代码如下:

    View Code
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Xml;
     6 
     7 namespace CreateXml
     8 {
     9     class Program
    10     {
    11         static void Main(string[] args)
    12         {
    13             Program app = new Program();
    14             app.CreateXmlFile();          
    15         }
    16         public void CreateXmlFile()
    17         {
    18             XmlDocument xmlDoc = new XmlDocument();
    19             //创建类型声明节点
    20             XmlNode node=xmlDoc.CreateXmlDeclaration("1.0","utf-8","");
    21             xmlDoc.AppendChild(node);
    22             //创建根节点
    23             XmlNode root = xmlDoc.CreateElement("User");
    24             xmlDoc.AppendChild(root);
    25             CreateNode(xmlDoc, root, "name", "xuwei");
    26             CreateNode(xmlDoc, root, "sex", "male");
    27             CreateNode(xmlDoc, root, "age", "25");
    28             try
    29             {
    30                 xmlDoc.Save("c://data2.xml");
    31             }
    32             catch (Exception e)
    33             {
    34                 //显示错误信息
    35                 Console.WriteLine(e.Message);
    36             }
    37             //Console.ReadLine();
    38 
    39         }
    40 
    41         /// <summary>  
    42         /// 创建节点  
    43         /// </summary>  
    44         /// <param name="xmldoc"></param>  xml文档
    45         /// <param name="parentnode"></param>父节点  
    46         /// <param name="name"></param>  节点名
    47         /// <param name="value"></param>  节点值
    48         /// 
    49         public void CreateNode(XmlDocument xmlDoc,XmlNode parentNode,string name,string value)
    50         {
    51             XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null);
    52             node.InnerText = value;
    53             parentNode.AppendChild(node);
    54         }
    55     }  
    56 }

    这样会在C盘根目录下创建data2.xml文件,文件内容为

    View Code
    1 <?xml version="1.0" encoding="utf-8"?>
    2 <User>
    3   <name>xuwei</name>
    4   <sex>male</sex>
    5   <age>25</age>
    6 </User>

    2.创建多节点多层级的XML文件

    只需要对CreateXmlFile()方法进行简单修改即可,修改如下:

    View Code
     1 public void CreateXmlFile()
     2         {
     3             XmlDocument xmlDoc = new XmlDocument();
     4             //创建类型声明节点
     5             XmlNode node=xmlDoc.CreateXmlDeclaration("1.0","utf-8","");
     6             xmlDoc.AppendChild(node);
     7             //创建根节点
     8             XmlNode root = xmlDoc.CreateElement("Users");
     9             xmlDoc.AppendChild(root);
    10            
    11             XmlNode node1 = xmlDoc.CreateNode(XmlNodeType.Element, "User", null);
    12             CreateNode(xmlDoc, node1, "name", "xuwei");
    13             CreateNode(xmlDoc, node1, "sex", "male");
    14             CreateNode(xmlDoc, node1, "age", "25");
    15             root.AppendChild(node1);
    16 
    17             XmlNode node2 = xmlDoc.CreateNode(XmlNodeType.Element, "User", null);
    18             CreateNode(xmlDoc, node2, "name", "xiaolai");
    19             CreateNode(xmlDoc, node2, "sex", "female");
    20             CreateNode(xmlDoc, node2, "age", "23");
    21             root.AppendChild(node2);
    22 
    23             try
    24             {
    25                 xmlDoc.Save("c://data5.xml");
    26             }
    27             catch (Exception e)
    28             {
    29                 //显示错误信息
    30                 Console.WriteLine(e.Message);
    31             }
    32             //Console.ReadLine();
    33 
    34         }

    生成的xml文件内容如下:

    View Code
     1 <?xml version="1.0" encoding="utf-8"?>
     2 <Users>
     3   <User>
     4     <name>xuwei</name>
     5     <sex>male</sex>
     6     <age>25</age>
     7   </User>
     8   <User>
     9     <name>xiaolai</name>
    10     <sex>female</sex>
    11     <age>23</age>
    12   </User>
    13 </Users>

    说明:本文出处:http://blog.csdn.net/xw13106209/article/details/6367407

  • 相关阅读:
    201621123060《JAVA程序设计》第九周学习总结
    201621123060《JAVA程序设计》第八周学习总结
    网络1712--c语言第二次作业总结
    Linux笔记
    Python-Flask框架之"图书管理系统"项目,附详解源代码及页面效果截图
    CentOS7防火墙firewall
    Linux文件处理三剑客(grep、sed、awk)
    OpenStack、虚拟机以及和当前流行的k8s、Docker四者之间的关系
    反向代理与正向代理的区别
    本地虚拟机在NAT网络连接模式下如何设置才可以访问外网以及使用Xshell远程连接
  • 原文地址:https://www.cnblogs.com/zxbzl/p/2948086.html
Copyright © 2020-2023  润新知