• XML(可扩展标记语言)


    一、简介:

    XML优点:容易读懂;格式标准任何语言都内置了XML分析引擎;

    XML就是一种格式化的方式来存储数据;

    .net程序中的一些配置文件app.config   、 web.config 文件都是xml文件;

    XML语法规范:标签、嵌套、属性。标签要闭合,属性值要用“”包围,标签可以相互嵌套;

    XML树,父节点、子节点、兄弟节点;

    实例:

    <?xml version="1.0" encoding="utf-8" ?>
    <Person>
      <Person id="1" >
        <Age>12</Age>
        <Name>chen</Name>
      </Person>
      <Person id="2" >
        <Age>24</Age>
        <Name>wang</Name>
      </Person>
    </Person>

    二、XML语法特点:

    1、严格区分大小写

    2、有且只能有一个根节点

    3、有开始标签必须有结束标签,除非自闭合:<Person/>

    4、属性必须使用双引号

    5、文档声明:<?xml version="1.0" encoding="utf-8" ?>

    6、注释: <!--  -->

    7、注意编码问题,文本文件实际编码要与文档声明的编码一致

    三、 XML读取:

            static void Main(string[] args)
            {
                XmlDocument doc = new XmlDocument();
                doc.Load("d:/temp/1.xml");
                XmlNodeList personNodeList = doc.DocumentElement.ChildNodes;
                foreach (XmlNode stuNode  in personNodeList)
                {
                    XmlElement stuEle = (XmlElement)stuNode;
                    string stuid = stuEle.GetAttribute("Id");
                    XmlNode stuNameNode = stuEle.SelectSingleNode("Name");
                    string stuName = stuNameNode.InnerText;
                    Console.WriteLine(stuid, stuName);
                }
            }

    三、 XML写入:

        class Program
        {
            static void Main(string[] args)
            {
                Person[] persons = { new Person(1, "chen", 8), new Person(2, "wang", 8) };
                XmlDocument doc = new XmlDocument();
                XmlElement ePersons = doc.CreateElement("Persons");//创建Persons根节点
                doc.AppendChild(ePersons);//把Persons添加为文档的子节点,由于文档没有子节点,所以这个节点就作为根节点;根节点只能有一个
                foreach (Person p in persons)
                {
                    XmlElement eP = doc.CreateElement("Person");//创建Persion节点
                    eP.SetAttribute("Id", p.Id.ToString());  //设置属性Id=1
                    XmlElement eName = doc.CreateElement("Name");//创建Name节点
                    eName.InnerText = p.Name.ToString();  //设置创建出来的节点的内部文本
                    XmlElement eAge = doc.CreateElement("Age");
                    eAge.InnerText = p.Age.ToString();
                    eP.AppendChild(eName);//把Name节点添加到Person节点下
                    eP.AppendChild(eAge);
    ePersons.AppendChild(eP);//把Person节点添加到Persons节点下
                }
                doc.Save("d:/2.xml");
                Console.ReadKey();
            }
        }
    
        class Person
        {
            public int Id { get; set; }
            public string Name { get; set; }
            public string Age { get; set; }
            public Person(int id,string name,string age)
            {
                this.Id = id;
                this.Name = name;
                this.Age = age;
            }
        }
  • 相关阅读:
    JDK的KeyTool和KeyStore等加密相关
    关于分布式事务的随笔[待续]
    Netty实例几则
    Disruptor快速入门
    Java获取系统环境信息
    JDK的BIO, NIO, AIO
    四种常用IO模型
    JDK的多线程与并发库
    递归转换为迭代的一种通用方式
    二叉树的java实现
  • 原文地址:https://www.cnblogs.com/fuyouchen/p/9365965.html
Copyright © 2020-2023  润新知