可扩展的标记语言(eXtensible Markup Language)

优点:容易读懂;格式标准任何语言都内置了XML分析引擎,不用单独进行文件分析引擎的编写。
用普通二进制传输数据的缺点,解析方式各异
XML语法规范:标签(Tag)、嵌套(Nest)、属性。标签要闭合,属性值要用""包围,标签可以互相嵌套
大小写敏感(CaseSensitive):标签、属性名是区分大小写的。
XML树,父节点、子节点、兄弟节点(siblings)
XML和HTML的区别:XML中元素必须关闭!XML中元素的属性值必须用引号。Html大小写不敏感,xml大小写敏感,html主要是用来显示数据的,xml主要是存储数据。
 
XML中XmlElement和XmlNode的区别
Xml节点有多种类型:属性节点、注释节点、文本节点、元素节点等
Xml元素:元素节点。 继承自XmlNode
InnerText和InnerXML:InnerText在xml文件里显示的部分 如果有尖括号 会被转译 而InnerXML不会!
xml内所有的内容都是节点 标签式元素
SetAttribute 属性设置 
DocumentElement 根节点
 
创建xml文件的步骤:
   1.在内存中创建xml

XmlDocument doc = new XmlDocument();

2.在内存中创建xml声明

  XmlDeclaration dec =  doc.CreateXmlDeclaration("1.0", "utf-8", null);

   doc.AppendChild(dec);//添加到xml文档上

3.添加根节点

           //根节点 Order

            XmlElement order = doc.CreateElement("Order");

            doc.AppendChild(order);

            //创建子节点元素

            XmlElement customerName = doc.CreateElement("CustomerName");

            customerName.InnerText = "小三";

            //追加到父节点order上

            order.AppendChild(customerName);

4.添加子节点及属性

             XmlElement items = doc.CreateElement("Items");

             order.AppendChild(items);

             //添加属性

             XmlElement orderItem1 = doc.CreateElement("OrderItem");

             orderItem1.SetAttribute("Name", "小三");

             orderItem1.SetAttribute("Count","");

             items.AppendChild(orderItem1);

5.//保存到文件

 doc.Save("order.xml");//从内存中保存到xml中

怎么读xml文件 标签没有属性的情况:

              XmlDocument doc = new XmlDocument();

             //加载xml文件

             doc.Load("books.xml");//在这之前要判断文件是否存在

             //根节点

             XmlElement books = doc.DocumentElement;//找到根节点DocumentElement

             //books 下的所有book元素

             XmlNodeList xnl = books.ChildNodes;

             foreach (XmlNode node in xnl)

             {

                 Console.WriteLine(node.ChildNodes[].InnerText);

                 Console.WriteLine(node.ChildNodes[].InnerText);

             }

有属性的情况:

            XmlDocument doc = new XmlDocument();

             doc.Load("order.xml");

             //根节点

             XmlElement root =  doc.DocumentElement;

             XmlNodeList xnl = root.ChildNodes;

             //读取标签的名字

             //Console.WriteLine(xnl[0].Name);

             Console.WriteLine(xnl[].InnerText);

             Console.WriteLine(xnl[].InnerText);

             XmlNode items = xnl[];

             //orderitem

             XmlNodeList xnl1 = items.ChildNodes;

             foreach (XmlNode node in xnl1)

             {

                 //获取属性的值

                 Console.WriteLine(node.Attributes["Name"].Value);

                 Console.WriteLine(node.Attributes["Count"].Value);

             }

修改指定的节点

            XmlDocument doc = new XmlDocument();

             doc.Load("order.xml");

             //修改指定的节点

             //XmlNode node = doc.SelectSingleNode("/Order/CustomerName");

             //node.InnerText = "小薇";

             ////Console.WriteLine(node.InnerText);

             //doc.Save("order.xml");

             //使用xpath  读取指定的节点 此种方式比较方便

             //XmlNode node = doc.SelectSingleNode("/Order/CustomerName");

             //Console.WriteLine(node.InnerText);

            //XmlNodeList xnl =  doc.SelectNodes("/Order/Items/OrderItem");

            //foreach (XmlNode node in xnl)

            //{

            //    Console.WriteLine(node.Attributes["Name"].Value);

            //    Console.WriteLine(node.Attributes["Count"].Value);

            //}

             //根据标签的属性,读取指定的节点

             XmlNode node = doc.SelectSingleNode("/Order/Items/OrderItem[@Name='媳妇']");

             node.Attributes["Count"].Value = "";

             doc.Save("order.xml");

xml基础总结的更多相关文章

  1. .net学习笔记---xml基础知识

    一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...

  2. XML 参考:XML基础 XML 简介

    XML 参考:XML基础 -- XML简介和用途 转:http://www.cnblogs.com/Dlonghow/archive/2009/01/22/1379799.html XML 参考:XM ...

  3. XML基础概念

    XML基础概念 一.什么是XML. 可扩展标记语言(EXtensible Markup Language),标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言. 二.XML特点 1 ...

  4. xml基础小结

    XML基础 1)XML的作用 1.1 作为软件配置文件 1.2 作为小型的“数据库” 2)XML语法(由w3c组织规定的) 标签: 标签名不能以数字开头,中间不能有空格,区分大小写.有且仅有一个根标签 ...

  5. XML基础<第一篇>

    一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...

  6. JavaEE XML 基础知识

    JavaEE XML 基础知识 @author ixenos 1.    XML开头都需要一个声明 <?和?>表明这是一个处理指令 <?xml version=”1.0” encod ...

  7. JavaWeb学习日记----XML基础

    1.XML基础: XML全称为eXtensible Markup Language;即可扩展标记型语言,同HTML一样使用标签来操作.它的可扩展性体现在标签可以由自己定义,可以是中文标签. XML用途 ...

  8. pom.xml基础配置

    pom.xml基础配置: maven中,最让我迷惑的还是那一堆配置! 就拿这个属性配置来说: 我需要让整个项目统一字符集编码,就需要设定 <project.build.sourceEncodin ...

  9. XML基础+Java解析XML +几种解析方式的性能比较

    XML基础+Java解析XML 一:XML基础 XML是什么: 可扩展的标记语言 XML能干什么: 描述数据.存储数据.传输(交换)数据. XML与HTML区别: 目的不一样 XML 被设计用来描述数 ...

  10. 第一篇 -- XML基础

    一.XML简介 XML是一种标记语言,用于描述数据,它提供一种标准化的方式来来表示文本数据.XML文档以.xml为后缀.需要彻底注意的是XML是区分大小写的. 先从一个简单的XML例子来了解下xml基 ...

随机推荐

  1. glyphicon halflings regular ttf 报错

    一个web项目 用了bootstrap chrome开f12报错提示glyphicon halflings regular ttf找不到 为什么找不到,肯定又是path出了问题 找到bootstrap ...

  2. 公司内多个公众号实现账号互通(UnionID机制处理)

    场景: 由于用户在每个公众号上的OpenID都不一样,如果要实现判断判断某个用户在其中一个公众号上已经绑定过,那么就要借助(UnionID机制)的机制. 条件: 1.拥有微信开放平台账号,且认证(ht ...

  3. SQLite遇到的关于x64、x86问题

    初次使用SQLite遇到了莫名其妙的问题: 未能加载文件或程序集“System.Data.SQLite, Version=1.0.92.0, Culture=neutral, PublicKeyTok ...

  4. python实现自动输入命令回车操作

    苦逼的在sf上等了一天(问题链接),都没人来解答,只好自己想办法,东平西凑还是勉强实现了,记录一下: 安装完python2.7后,在cmd命令行输入python回车,后出现python相关的提示信息, ...

  5. Django REST framework简单使用

    详细的见 https://github.com/linux-wang/DRF_tutorial/blob/master/README.md DRF中有一个serializer的概念,实现的功能是将各种 ...

  6. PMD(Put Me Down)用例测试

    PMD(Put Me Down)--用例测试 一.测试工作安排 6个成员随机分配一个模块进行测试,测试完成后将最后的结果汇总到测试用例文档中. 二.测试工具的选择与运用 测试工具选择:这次还没用工具, ...

  7. bootstrap学习总结-05 常用标签3

    1 单选框,多选框 1)单选框 单选框(radio)用于从多个选项中只选择一个.设置了 disabled 属性的单选或多选框都能被赋予合适的样式.对于和多选或单选框联合使用的 <label> ...

  8. 如何使用alt键+数字键盘上的数字键打出特殊符号

    如何使用alt键+数字键盘上的数字键打出特殊符号 有时当我需要画示意图说明一个问题,但是苦于没有合适的符号,因此,这篇博文将简单介绍一些特殊的符号方便自己以及大家使用. 实现原理很简单:所有的字符(包 ...

  9. 分析setting源代码获取sd卡大小

    分析setting源代码获取sd卡大小 android系统有一个特点,即开源,我们可以得到任何一个应用的源代码,比如我们不知道这样的android代码怎么写,我们可以打开模拟器里面的设置(settin ...

  10. C#中int,string,char[],char的转换(待续)

    //char[]转string string mm = "woshicainiao"; char[] ss = mm.ToCharArray(); string AA = new ...