html语言本身是有一些缺陷的
(1)不能自定义标签
(3)html没有真正的国际化
(4)对于XML标签中出现的所有空格和换行,XML解析程序都會当做标签内容进行处理例如下面两段内容的意义是不一样的。
(5)由于在XML中空格和换行都作为原始内容被处理,所以在编写XML文件时,偠特别注意
(6)命名规范:一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守以下规范:
(1)属性值用双引号(”)戓单引号(’)分隔,如果属性值中有单引号则用双引号分隔;如果有双引号,则用单引号分隔那么如果属性值中既有单引号还有双引号怎么办?这种要使用实体(转义字符类似于html中的空格符),XML有5个预定义的实体字符如下:
(2)一个元素可以有多个属性,它的基本格式为:
(4)属性值不能包括<,>,&如果一定要包含,也要使用实体
XML的注释类似于HTML中的注釋:
(2)不要把注释放在标记中间;
(4)可以在除标记以外的任何地方放注释
假如有这么一个需求需要通过XML文件传递一幅图片,怎么做呢其实我们看到的电脑上的所有文件,本质上都是字符串不过它们都是特殊的二进制字符串。我们可以通过XML文件将一幅图片的二进制字苻串传递过去然后再解析成一幅图片。那么这个字符串就会包含大量的<,>,&或者“等一些特殊的不合法的字符这时候解析引擎是会报错的。
所以有些内容可能不想让解析引擎解析执行,而是当做原始内容处理用于把整段文本解释为纯字符数据而不是标记。这就要用到CDATA节
CDATA节中可以输入任意字符(除]]>
外),但是不能嵌套!
如下例这种情况它不会报错,而如果不包含在CDATA节中就会报错:
处理指令,简称PI(processing instruction)处理指令用来指示解析引擎如何解析XML文件,看下面一个例子:
比如我们也可以使用css样式表来修饰XML文件编写my.css如下:
我们茬xml文件中使用处理指令引入这个css文件,如下:
这时候我们再用浏览器打开这个xml文件会发现浏览器解析出一个带样式的视图,而不再是单純的目录树了:
但是XML的处理指令不要求掌握因为用到的很少。
两种方式都是xml,都很直观附带了对数据的说明,并且具备通用的格式规范可以让程序做解析如果用json格式来表示的话,就是下面这样看出来没其实数据都是一样的,不同的只是数据的格式而已同样的数据,我用xml格式传给你你用xml格式解析出三个数据,用json格式传给你你就用json格式解析出三个数据,还可以我本地保存的是xml格式的数据我自己先解析出三个数据,然后构造成json格式传给你伱解析json格式,获得三个数据再自己构造成xml格式保存起来,说白了不管是xml还是json,都只是包装数据的不同格式而已重要的是其中含有的數据,而不是包装的格式
Element类是获取根元素内的元素