XML学习

1:XML:可扩展的标识语言,是一种描述结构数据的格式,简化了网络中数据交换和表示,使得代码,数据和表示分离,并作为数据交换的标准格式,被称为智能数据文档。


2:当我们不使用数据库来存储数据,将其以文件的格式进行存储。这样就是为每个数据建立一个文本文件进行存储。在高深点就是利用XML来存储,

3:格式 <处理文本,字符串>这和标签的形式是一样的。


à将所有的数据用一对尖括号包起来,这个尖括号的名字就是这个值的属性。

<name></name>

<age></age>

<sex></sex>

4:XML语法

*:XML文件,是一个纯文本文件。

*:XML结构是一个树状的结构。


à文档描述


à有根结点。


à数据存储在标签元素中。


à标签是具有属性的。

5:XML文档格式

<? xml version="1.0"encoding="gb2312">

版本是1.0,字符编码是gb2321,一般桌面上右键的都是gb2312格式的,使用VS创建的是可能是utf-8格式。

<根元素的开头></根元素的开头>

6:eg

*:先在桌面上新建个文档,修改格式为xml文件。使用chrome浏览器打开.错误显示说明这个文件没有用来描述信息,文件有问题。


*:将此文件使用记事本打开,写上格式文档头。

  1. <?xml version="1.0" encoding="gb2312">

这是刷新浏览器,显示如下,说文档非正常结束。


接着就是在文件里面写一些标签,这里的和基本的HTNL是一样的。

7:XML里面的标签名可以随意命名。但是还需要注意下,

*:不能使用数字开头,不能包含空格

8:保存数据的格式及常用的节点

  1. <?xml version="1.0" encoding="gb2312">
  2. <name>你好世界</name>
  3. <person>
  4. <name>张辉</name>
  5. <age>23</age>
  6. <sex>男</sex>
  7. </person>

将数据具体保存到标签中,让标签组合在一起表示一个具体的内容,常常使用属性标记一些标签,属性一定是键值对,并且使用双引号将值括起来。

9:注释

<!--注释的地方-->

10:区分大小写,一般的都是小写的。可以说XML是没有规范限制的。

11:什么是节点?

描述树状结构里面每个分支的都是节点。

重点部分

12:使用C#来操作XML

*:DOM---Document Object Model 文档对象模型

*:dom将所有的内容都看成对象,所以加载节点就是在创建对象,并且将对象加到节点上面。

*:将文档看成对象,而文档中的节点也是对象,节点中的节点也是对象。

*:使用DOM操作,常用的类,这里的一些现在已经不使用了,但是我们还是需要了

解这些知识点。

Xmldocument 文档

XmlElement 元素

XmlAttribute 属性

XmlText 文本

13:使用C#来操作XML的具体步骤

1:使用xmldocument创建文档对象<声明一个xmldocument对象>

2:创建文档描述,使用xdoc对象的create方法创建需要的节点,将其添加到文档中,

3:创建根节点 将其添加到文档对象中。

4:创建内容<创建,追加>

注意:这里是追加到根节点,不是追加到文档。<规定:根节点只能有一个。>

5:追加具体的内容标签

6:设置属性id,添加具体内容。

7:使用文档对象的保存。

14:下面是创建根节点。

  1. public
    static
    void Main(string[] args)
  2. {
  3.     //dom将所有的内容都看做对象
  4.     #region XML学习理解
  5.     //1:使用XmlDocument创建文档对象
  6.     XmlDocument xdoc=new XmlDocument(); //声明xml文档的格式
  7.     //2:创建文档描述 使用xdoc对象的create系方法创建需要的节点,在将其添加到xdoc里面
  8.     XmlDeclaration xroot=xdoc.CreateXmlDeclaration("1.0","utf-8",null);
  9.     xdoc.AppendChild(xroot); //使用父节点.AppendChild(子节点)添加到文档上面
  10.     //3:创建根节点
  11.     XmlElement xroots=xdoc.CreateElement("personahui");
  12.     xdoc.AppendChild(xroots);
  13.     //4:使用save来保存文档
  14.     xdoc.Save("ahui.xml");
  15.     #endregion
  16. }

文档显示结果,其在bin/Debug文件下面保存。



15:创建内容。

  1. //3:创建根节点
  2. XmlElement xroots=xdoc.CreateElement("personahui");
  3. xdoc.AppendChild(xroots);
  4. //4:创建具体内容
  5. var person=xdoc.CreateElement("person");
  6. xroots.AppendChild(person);
  7. //5:在Person中追加
  8. XmlElement name = xdoc.CreateElement("name");
  9. person.AppendChild(name);
  10. XmlElement age = xdoc.CreateElement("name");
  11. person.AppendChild(age);
  12. XmlElement sex = xdoc.CreateElement("name");
  13. person.AppendChild(sex);
  14. //4:使用save来保存文档
  15. xdoc.Save("ahui.xml");


  1. //5:在Person中追加
  2. XmlElement name = xdoc.CreateElement("name");
  3. person.AppendChild(name);
  4. name.SetAttribute("");

添加这一句就是在name中添加了一个id对象,并为其赋值为0001,下面是一种老式的方法。

  1. //6:追加ID
  2. //name.SetAttribute("id", "0001");
  3. var id = xdoc.CreateAttribute("id");
  4. id.Value = "";
  5. person.SetAttributeNode(id);


16:在name中添加具体的值

  1. //7:在name中添加具体的值
  2.  var namevalue = xdoc.CreateTextNode("阿辉");
  3.  name.AppendChild(namevalue);

显示内容

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <personahui>
  3.   <person
    id="002">
  4.     <name>阿辉</name>
  5.     <name />
  6.     <name />
  7.   </person>
  8. </personahui>

 

 


 

XML基础学习01的更多相关文章

  1. xml基础学习笔记05

    Xpath快速解析 如题一样,本篇主要说说Xpath快速查找XML文档   * Xpatn.Xquery,是专门用来查询xml的语言   * 查询xml非常快   Xpatn.Xquery,是专门用来 ...

  2. xml基础学习笔记01

    注意:刚刚看了网上对于XML中的标签,节点和元素?到底应该怎么表述?起初我也有这个疑惑,现在我的想法是:下面出现node的应称作节点,节点对象.element应称作元素,毕竟这更符合英文的本意.至于标 ...

  3. xml基础学习笔记03

    继续上篇xml学习笔记,坚持.坚持.再坚持啊.... 本篇主要记录: 35.XML节点的删除与修改 36集.用XML制作RSS订阅源 <?php /* 笔记: 35.XML节点的删除与修改 使用 ...

  4. 转载---SQL Server XML基础学习之<5>--XQuery(query)

    本章写一些SQL Server XML的一些XQuery基础语法,主要讲的query查询语法 T-SQL 支持用于查询 XML 数据类型的 XQuery 语言的子集. XQuery 基于现有的 XPa ...

  5. XML 基础学习

    在w3school看到了XML的教程,想到以前工作学习中也接触到了XML,但只是简单搜索了解了下,没有认真去学习XML的基础,所以现在认真看下其基础部分,并写篇博客作为笔记记录下. XML 简介 XM ...

  6. xml基础学习笔记04

    今天继续xml学习,主要是:SimpleXML快速解析文档.xml与数组相互转换 .博客中只是简单的做一个学习记录.积累.更加详细的使用方法,可以查看php手册 1.SimpleXML快速解析文档 前 ...

  7. xml基础学习笔记02

    接着上次的xml笔记01 ,记录一下如何DOM创建xml 一.由于没有特意来写博客,都是在程序中用注释的方法记录笔记,整理过来难免格式错误,排版什么的,大家好事看不懂就仔细看给出的代码加上注释,一定会 ...

  8. spring基础学习01

    spring基础 Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用 IOC控制反转 把创建对象和维护对象之间的关系权利 ...

  9. xml 基础学习备忘

    <?xml version="1.0" encoding="UTF-8"? standalone="yes"> 这里的encod ...

随机推荐

  1. 【腾许Bugly干货分享】“HTTPS”安全在哪里?

    背景 最近基于兴趣学学习了下 HTTPS 相关的知识,在此记录下学习心得. 在上网获取信息的过程中,我们接触最多的信息加密传输方式也莫过于 HTTPS 了.每当访问一个站点,浏览器的地址栏中出现绿色图 ...

  2. 字体大小自适应纯css解决方案

    viewpoint css3提供了一些与当前viewpoint相关的元素,vw,vh,vim等. “viewpoint” = window size vw = 1% of viewport width ...

  3. 【吐血分享】SQL Server With As 递归获取层级关系数据

    纯洁的一周又开始了,今天看到一则新闻,笑尿了,和袁友们一起娱乐下 最近两月在做基于Saas模式的人力资源管理产品,平常数据库设计我经常会遇到如下需求场景: 以前商城类网站在设计类型表的时候,设计成单表 ...

  4. MySQL--使用xtrabackup进行备份还原

    使用rpm包安装xtrabackup ## 安装依赖包 yum -y install perl perl-devel libaio libaio-devel perl-Time-HiRes perl- ...

  5. 如何基于纯GDI实现alpha通道的矢量和文字绘制

    今天有人在QQ群里问GDI能不能支持带alpha通道的线条绘制? 大家的答案当然是否定的,很多人推荐用GDI+. 一个基本的图形引擎要包括几个方面的支持:位图绘制,文字绘制,矢量绘制(如矩形,线条). ...

  6. [算法][三轴、六轴、九轴传感器算法分析] 1、分享一个三轴加速计matlab动态可视化脚本

    一.有啥用 这里用的是LIS3DH三轴加速计,输出为X.Y.Z轴的加速度,通过串口连接电脑,电脑里运行matlab脚本通过串口实时获取数据并做可视化显示. 这里虽然是针对LIS3DH的,其实稍作修改即 ...

  7. [我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之摄像机介绍Cameras

    [我给Unity官方视频教程做中文字幕]beginner Graphics – Lessons系列之摄像机介绍Cameras 最近得到一些Unity官方视频教程,一看全是纯英文的讲解,没有任何字幕或者 ...

  8. vi 卡住怎么办

    http://zhidao.baidu.com/question/93283359.html ---------- 我貌似好像按了ctrl+s... 用惯了windows人,会习惯性地按Ctrl+S来 ...

  9. String的length()和Array的length

    String是个final修饰的最终类,不能被继承,String中属性都设置为private,方法为public,并不提供set方法,想要获得字符串的长度必须调用length()方法这个长度是确定的, ...

  10. 爱上MVC~MVC4模型验证可以放在前端

    回到目录 MVC4.0推出后,在模型验证上有了一个新的改近,它支持前端验证,即在用户POST之前,如果验证失败,则Action(POST方式的)不会被执行,而直接停留在原视图,这对于用户体验是好的,它 ...