比如很常见的,java中各种配置文件,很多都是xml形式的,它为什么要这样子去做?xml是干什么的?它的作用和特殊性再于什么地方,为什么配置文件不用json写呢?假如某一天你需要做某个功能,它需要从xml文件中读取一些东西,得到什么,并且验证,你如何实现这个功能?
最近对脚本语言也很感兴趣,因为某些脑洞。。扯远了,回到xml.
https://www.zhihu.com/question/31353595/answer/60826602
这个链接是关于xml它是什么的讨论。
简单来说,xml和核心在于“交换数据”,就像同样的食材,你进行不同的处理,但是它们的内在——数据是相同的——无论是json,还是xml,都是包装数据的不同格式,它以一种“约定的字符串”来表示某些数据类型。
关于它的应用,很常见的,web应用中,你以前配置的各种配置文件config/或者一些数据文件,还有人提到的soap协议基于它,它的用途很广,Java/C#纷纷拿它作为语言的扩展用途,但有些时候难免有些冗杂,相比之下,json显得更轻量级,因为它舍弃了一些东西,并把着重点放在了其他的方向上。
XML 实现简化数据共享,计算机系统和数据使用不兼容的格式来存储数据。XML 数据以纯文本格式进行存储,因此提供了一种独立于软件和硬件的数据存储方法,这让创建不同应用程序可以共享的数据变得更加容易。
下面摘录一些精彩的解释,未授权侵删。
"xml主要解决的一个问题就是:如何按照大家都理解的方式描述一个事物。这里的大家指的不仅仅是人。
正因为有了 XML,不同编程语言之间,机器和机器之间,机器和人之间,人和人之间能够正确地交流。所以它很重要。"
“先是解决了一个小问题, 结果导致了更多的其他问题,在解决这些问题的过程中不断地制造新问题,最后就被XML绑架了.
每次试图发明通用的万能的技术的时候,基本都是这个结局.”
“XML 有一套工具,用来存储和操作数据。它提供了解释(Parser),验证(DTD,schema),查询(XQuery),变换(XSLT)。每个工具都帮你处理了大量令人头痛的问题。
需要存储和操作数据吗?请使用 XML。”
“ xml解决的问题主要是互操作性(interoperability)
其设计目的是跨越编程语言、编码方式、操作系统、字节顺序、硬件架构、组织 间的界限还有行业标准的阻碍来交换数据
这个数据可以具有复杂的数据结构、充分可自定义可扩展、格式上正规化且可以 验证,xml有点heavy,因为它针对的问题比较heavy ”@ Zh Min
每次分类都找不到合适的……可以挂一个随笔吗