关于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的真正用途。
- 关于XML的一点学习总结
- 关于xml学习的一点思考与总结
- 关于PCA算法的一点学习总结
- 关于PCA算法的一点学习总结
- 关于PCA算法的一点学习总结
- 关于伪静态学习的一点总结
- 关于规范xml的xsd文件一点总结
- 关于Xml的一点知识
- 关于DNN Module开发学习以来的一点总结
- 学习web开发的一点个人总结(关于权限)
- 关于oracle sql 调优学习的一点总结
- 关于多线程的一点总结
- 关于SYS_CONNECT_BY_PATH 的一点总结
- 关于数据库的一点总结
- 关于反编译的一点总结
- 关于dijkstra的一点总结
- 关于floyd的一点 总结
- 关于ActiveMQ的一点总结
- hadoop job.class 源码分析
- 【Unity3D】【NGUI】处理Button的按下状态?
- Dreamweaver CC and PhoneGap
- 算法系列:矩阵相乘算法的MapReduce实现
- JAVA高级特性总结
- 关于XML的一点学习总结
- css之初识滤镜
- 动态规划算法基本原理
- Maven仓库(四)
- 数论练习2:L - 取(m堆)石子游戏(用SG值来判断如果先手赢,求先手第一步的策略)
- MAYA反选
- hdu-2212-DFS
- 如何学习一门新技术
- 使用DBCP创建连接池