XML文件是什么?

XML文件是什么呢?

XML是一种可扩展标记语言也是元标记语言,所谓“元标记”就是开发者可以根据自己的需要定义自己的标记,HTML是一种预定义标记语言,它只认识诸如<html>,<li>等已经定义的标记,对于用户自己定义的标记是不认识的。 并且xml是一种语义/结构化语言。它描述了文档的结构和语义。
XML是一种通用的数据格式.
从低级的角度看,xml是一种简单的数据格式,是纯100%的ASCII文本,而ASCII的抗破坏能力是很强的。不象压缩数据和java对象,只要破坏一个数据文件数据就不可阅读。 
从高级的角度看,是一种自描述语言。

比如,我们要给对方传输一段数据,数据内容是“too young,too simple,sometimes naive”,要将这段话按照属性拆分为三个数据的话,就是,年龄too young,阅历too simple,结果sometimes naive。

但是程序并不会体会字面意思,因此,我们需要帮助程序做拆分,所以出现了各种各样的数据格式以及拆分方式。

比如,可以是这样的
数据为“too young,too simple,sometimes naive”
然后按照逗号拆分,第一部分为年龄,第二部分为阅历,第三部分为结果。

也可以是这样的
数据为“too_young##too_simple#sometimes_naive”
从数据开头开始截取前面十一个字符,去掉#号并把下划线替换为空格作为第一部分,再截取接下来的十一个字符同样去掉*并替换下划线为空格作为第二部分,最后把剩下的字符同样去#号体会空格作为第三部分。

这两种方式都可以用来容纳数据并能够被解析,但如果出现超过限定字数的字符串就容纳不了,也可能出现数据本身就下划线字符导致需要做转义。若是你事前并不知道他的内容,那么就不好截取,他的通用性也就不强了

基于这种情况,出现了xml这种数据格式, 上面的数据用XML表示的话
可以是这样
<person age="too young" experience="too simple" result="sometimes naive" />

也可以是这样
<person>
    <age value="too young" />
    <experience value="too simple" />
    <result value="sometimes naive" />
</person>

两种方式都是xml,都很直观,附带了对数据的说明,并且具备通用的格式规范可以让程序做解析。

如果用json格式来表示的话,就是下面这样
{
    "age":"too young",
    "experience":"too simple",
    "result":"sometimes naive"
}
其实数据都是一样的,不同的只是数据的格式而已,同样的数据,我用xml格式传给你,你用xml格式解析出三个数据,用json格式传给你,你就用json格式解析出三个数据,还可以我本地保存的是xml格式的数据,我自己先解析出三个数据,然后构造成json格式传给你,你解析json格式,获得三个数据,再自己构造成xml格式保存起来,说白了,不管是xml还是json,都只是包装数据的不同格式而已,重要的是其中含有的数据,而不是包装的格式。

而xml可以用来做什么呢?
XML是被设计用来存储数据、携带数据和交换数据的,它不是为了显示数据而设计的。
 1、XML可以从HTML中分离数据,通过XML,你可以在HTML文件之外存储数据。在不使用XML时,HTML用于显示数据,数据必须存储在HTML文件之内;使用了XML,数据就可以存放在分离的XML文档中。这种方法可以让你集中精力去到使用HTML做好数据的显示和布局上,并确保数据改动时不会导致HTML文件也需要改动。这样可以方便维护页面。XML数据同样可以以“数据岛”的形式存储在HTML页面中。你仍然可以集中精力到使用HTML格式化和显示数据上去。
2、XML用于交换数据,通过XML,我们可以在不兼容的系统之间交换数据。在现实生活中,计算机系统和数据库系统所存储的数据有N^N种形式,对于开发者来说,最耗时间的就是在遍布网络的系统之间交换数据。把数据转换为XML格式存储将大大减少交换数据是的复杂性,并且还可以使得这些数据能被不同的程序读取。
 3、XML可以用于共享数据,通过XML,纯文本文件可以用来共享数据。既然XML数据是以纯文本格式存储的,那么XML提供了一种与软件和硬件无关的共享数据方法。这样创建一个能够被不同的应用程序读取的数据文件就变得简单了。同样,我们省级操作系统、升级服务器、升级应用程序、更新浏览器就容易多了。
4、XML可以用于存储数据,利用XML, 纯文本文件可以用来存储数据。大量的数据可以存储到XML文件中或者数据库中。应用程序可以读写和存储数据,一般的程序可以显示数据。
5、XML可以充分利用数据,使用XML,你的数据可以被更多的用户使用。既然XML是与软件、硬件和应用程序无关的,所以可以使你的数据可以被更多的用户、更多的设备所利用,而不仅仅是基于HTML标准的浏览器哦。别的客户端和应用程序可以把你的XML文档作为数据源来处理,就像他们对待数据库一样,你的数据可以被各种各样的“阅读器”处理,这时对某些人来说是很方便的,比如盲人或者残疾人。
6、XML可以用于创建新的语言XML是WAP和WML语言的母亲。无线标记语言(WML,The Wireless Markup Language ), 用于标识运行于手持设备上(比如:手机)的Internet程序。


C#中的XML(Extensible Markup Language)主要用于数据存储、交换和配置文件管理。它被广泛用于Web应用程序中,因为它的结构化信息非常适合表示复杂的数据结构。以下是C#中使用XML的一些常见用途: 1. **数据交换**:XML可以作为不同系统之间通信的标准格式,比如从服务器获取或发送数据。 2. **配置文件**:程序通常会使用XML作为配置文件,开发者可以轻松地读取和修改这些设置而无需更改代码。 3. **文档**:XML可用于创建结构化的文档,如用户手册或API文档,方便理解和查阅。 4. **持久化数据**:对于需要长期保存的数据,XML是一个轻量级的选择,尤其是当数据不需要数据库那样的实时更新时。 在C#中,你可以使用内置的`System.Xml`命名空间来进行XML操作,例如: - **读取XML**: 使用`XDocument`, `XmlReader`或` XmlDocument`类来解析XML文件。 - **创建XML**: 使用`XElement`或`XmlNode`来构建新的XML文档。 - **序列化和反序列化**: 可以使用`DataContractSerializer`或`XmlSerializer`将对象转换为XML或将XML转换回对象。 ```csharp using System.Xml.Linq; // 读取XML文件 XDocument doc = XDocument.Load("example.xml"); string name = doc.Root.Element("Person").Element("Name").Value; // 创建XML元素 XElement person = new XElement("Person", new XElement("Name", "John Doe"), new XElement("Age", 30)); // 序列化到XML字符串 string xmlString = person.ToString(); ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值