xml 定义:
用于标记电子文件使其具有结构性的标记语言, 可以用来标记数据, 定义数据类型, 是一种允许用户对自己的标记语言进行定义的源语言.
xml 发展史?
简单提一下 Markup Language 历史:
- 1969:GML(Generalized Markup Language)--(IBMResearch)
- 1968: SGML(Standard Generalized Markup Language)--(ISO)
- 1989:html(Hypertext Markup Language)--TimBerners Lee
作为 SGML 的一个实例, 它的 DTD(一种规则) 作为标准被固定下来, 因此 HTML 不能定义其他符号化语言的源语言. 而 xml 就可以哦, 所以就出现了 xml.
- 1998/2:xml(Extensible markup Language)
- W3C(World Wideweb Consortium)
SGML 的子集
- xml(定义数据和元数据),XSL(style sheet 描述, 就像 CSS 于 HTML)
- SGMLvsXMLvs HTML:
SGML: 长时间存放电子文件.
使用费用高, 大都在 MainFrame 平台.
xml: 网页文件语言, 数据交换语言, 数据处理语言, 文件整合语言.
应用范围几乎没有限制.
HTML: 网页呈现语言, 超文本语言.
xml 包括:
文件内容:
结构定义:DTD(Document TypeDefinitied)
XMLSchema(DTD+Datatype)
显示: XSL
XSLT+XHTML+Xpath+(Xlink)
从 HTML 到 xml:
比较:
HTML:
HTML 只能提供数据显示功能.
浏览器提供单一语言机制.
网页搜索不精确.
扩充困难.
网页逻辑关系, 网页分级认证不易建立.
Web 资源受限制, 无法让其他应用使用.
xml:
开放平台.
可以做任何程序的输入数据.
xml 改变了浏览器内部的结构.
xml 具体应用:
xml 的一个最主要的应用就是作为系统的配置文件, 很多系统的配置文件都是用 xml,Spring 中 application 中 xml,Hibernate 中 xml, 在这里主要说说 ASP.NET 中的 xml.
1, 配置文件中.
世间所有的相遇都是久别的重逢, 我们曾建无数次的与 xml 擦肩而过, 机房收费系统的配置文件, 新闻发布系统的配置文件, 以及我们建立每一个应用程序下的配置文件, 配置文件的后缀名为. config, 而我们的 xml 文件为. xml 后缀, 为什么 vs 中没有直接用 Web.xml 而是用的 Web.config? 我想可能是微软想把一个东西封装成知己的, 就像箱子里是同样的苹果, 我想变成我的, 我就要弄好一个包装, 并且贴上我的标签, 告诉别人, 这是我特有的. 但事实上呢, 网上有这样的回答:
config 是配置,.xml 是软件内置的网页文件.
表象:
前者:
用在 Web.config 或者 App.config 之类.
<appSettings > 是系统约定的节点, 约定在这个节点下的所有 < add /> 节点会被 System.Configuration.ConfigurationManager.AppSetting 读到.
后者:
完全的自定义接点, appSettings 表示什么意思, add 表示什么意思将在自己写的 xml 解析方法里指定和使用.
简单来说:
简单来说, config 是 xml 的一个子集.
通常的 xml 都是只定义基本语法, 至于节点的层次, 节点格式, 节点的含义, 节点怎么被解析都是你自己定义. 使得你的 xml 文件能和你的 xml 解析方法对应.
而 Web.config,App.config 这类, 是 Microsoft 和软件作者已经定义好了节点意义, 你只需要遵守他的格式和规则, 就能达到配置作用.
通俗讲:
打个可能不太好的比方:
xml 文件本身是扑克牌.
config 是斗地主.
你用 config, 就不需要自己制定规则, 按照它的规则打就行. 很方便, 但是你不能违反他的规则.
而你自己写 xml, 还要先制定好规则, 规则怎么定都随便你, 然后按照这个规则出牌.
当然, 这些都有一个大前提, 都满足 xml 节点规范, 你不能制定扑克牌的规则中放入几个麻将牌....
2,ASP.NET 控件与 xml.
在学习 ASP.NET 的视频的时候, 用到很多控件, 例如 LIstBox,DropDownList 常用控件, DataList,GridView 等数据控件, ADO.NETDataSet 操作 xml 文件, 以及前两篇博客提到的导航控件 menu 和 treeview 在进行数据源绑定的时候都可以绑定 xml 文件.
- C# 简单写入 xml 文件的方法
- C# 写入对象或集合类型数据到 xml 文件的方法
- C# 实现的 xml 操作类实例
来源: https://www.jb51.net/article/72386.htm