2017-07-24 22:58:16
xml 和 json 都是数据交互的格式。
想象一下,python中的字典数据要传给java使用,但是众所周知的是java中只有hashmap数据结构,并没有字典,所以在传输时需要对python中的数据进行序列化操作,就是讲字典数据转成xml或者json格式,在java接收端,进行反序列化,将xml 或者 json转换为自己需要的格式。
不是说都要进行模式转换的,不过当双方通信时,数据无法正确接收和传输的时候,就需要进行模式转换了。
一、xml
- XML 指可扩展标记语言(EXtensible Markup Language)。
- XML 是一种很像HTML的标记语言。
- XML 的设计宗旨是传输数据,而不是显示数据。
- XML 标签没有被预定义。您需要自行定义标签。
- XML 被设计为具有自我描述性。
- XML 是 W3C 的推荐标准。
xml 和 html的区别:
XML 不是 HTML 的替代。
XML 和 HTML 为不同的目的而设计:
- XML 被设计用来传输和存储数据,其焦点是数据的内容。
- HTML 被设计用来显示数据,其焦点是数据的外观。
HTML 旨在显示信息,而 XML 旨在传输信息。
xml 的树结构
Tove Jani Reminder Don't forget me this weekend!
第一行是 XML 声明。它定义 XML 的版本(1.0)和所使用的编码(UTF-8 : 万国码, 可显示各种语言)。
下一行描述文档的根元素(像在说:"本文档是一个便签")
接下来 4 行描述根的 4 个子元素(to, from, heading 以及 body)
后一行定义根元素的结尾
您可以假设,从这个实例中,XML 文档包含了一张 Jani 写给 Tove 的便签。
父、子以及同胞等术语用于描述元素之间的关系。父元素拥有子元素。相同层级上的子元素成为同胞(兄弟或姐妹)。所有的元素都可以有文本内容和属性(类似 HTML 中)。
举个例子:
Everyday Italian Giada De Laurentiis 2005 30.00 Harry Potter J K. Rowling 2005 29.99 Learning XML Erik T. Ray 2003 39.95
上图和xml 代码一一对应。
xml还有一些语法要求诸如必须要有根元素,大小写敏感等要求,还有格式限制等,具体可以参照