关于XML的一点学习总结

来源:互联网 发布:mac查exif 编辑:程序博客网 时间:2024/05/29 19:40

之前关于XML一直很好奇,很多地方都说能用到XML来保存数据,传输数据。最近自己看了点XML的资料,总结下。

个人学习记录,欢迎各种拍砖


XML本身是一个由很多自定义的标签组成的描述性语言,写出来的是个.xml的文本

这里的标签叫做<element></element>, 一定是有开始标签和结束标签。标签与标签之前是嵌套存在的。

<RootElement><childElement1>......</childElement1><childElement2>......</childElement2>......</RootElement>

每一个Element还可以带有属性,attribute来增加标签的信息

<element attribute=""></element>

这是xml文档最基本的形式。


因为这些标签都是自定义的,所以任何人可以写任何标签。但是如果我是个项目的负责人,我想指定这些element的名字啊,属性啊,然后具体接触数据的人才能根据这个指定格式的xml文件来填写数据。就像我先制定一个规范的表格,然后大家才能统一填写。这样就用到了XML Schema

这个XML Schema通过规定的形式来制定每个指定XML应该有哪些elements,每个elements应该有哪些attribute

以下是个XML Schema的一个例子

<?xml version="1.0"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="note">  <xs:complexType>    <xs:sequence>      <xs:element name="to" type="xs:string"/>      <xs:element name="from" type="xs:string"/>      <xs:element name="heading" type="xs:string"/>      <xs:element name="body" type="xs:string"/>    </xs:sequence>  </xs:complexType></xs:element></xs:schema>

上面的Schema定义了根element是note,然后有四个childElement, "to","from","heading","body", 他们包含的数据都是string类型的

可以看到其实Schema文档也是用XML的格式来写的,用element来嵌套表示


XML, 和 XML Schema 有很多细节的知识,但是大体上设计思想就是这么多了。

那么XML为什么这么流行呢?

我是这么理解的: XML是一个最基本的表示数据表示形式,它能很格式化的表示数据。它本身就这么多用处了。

通过Schema可以定义很多XML文档的格式。那么这样的话,这个XML就能当成是个协议了(protocol),比如可以做成在web service中的传输协议,SOAP。 可以做成描述服务的WSDL文件。可以做成博客订阅的RSS协议。 用XML来描述这些协议的话,可以做到OS-independent, Language-independent. 只要在服务器端和客户端用程序来解析这个被Schema定义好的XML文档,就能到达数据传输或者数据存储的目的了。


总结:

XML只是一个自定义的标记语言。真正使大家认识到它的是利用XML衍生出来的各种用于web service的服务协议。或者说这就是XML的真正用途。