且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

XML学习2

更新时间:2022-08-13 08:06:08

1、 xml中的编码

在xml文件中汉字的默认编码是GB2312 ,如果我们的xml文件中包含汉字的话 那么我们必须 在 定义xml的时候显式的声明xml编码   例如

<?xml  version="1.0" encoding="gb2312"> 如果我们不声明就会出错,因为浏览器默认是用UTF-8编码解释 字符的 ,而我们的xml文件时gb2312编码。

那么就会出现冲突 。  所以说 我们的xml文件使用什么样的编码格式 ,我们就要在xml开头给添加上 ,这样会减少不必要的错误 。 

对于英文字符我们可以说他是任意一种类型的编码

2、  xml元素的标记名规范 。

 不能以xml打头 ,不能以_ 或者数字打头 , 严格区分大小写的 ,xml标记名不能包含空格 ,不能包含冒号。  

对于名称使用哪个统一的标准要么全大写要么全部小写  。 在使用中文的时候应该考虑系统是否支持中文。

3、xml中属性的定义  : 

<a name="xiaowang">名字</a>   属性值必须要用 单引号或者双引号 引起来  ,这和个html中是不一样的 、

属性的命名遵循和 标签相同的命名规范 。 

我们可以将属性转换成该标签的子标签的形式来表达。

4、xml注释 

xml的注释和 html中完全一样的  ,<!-- 注释  -->,注释可以让浏览器忽略xml代码 ,但是 注释必须放在xml文档声明的后面才可以 

注释是不能嵌套的 。

5、xml中的空格和换行

对于xml标签外的空格和换行 xml解析程序 都要一个一个的交给下游程序去处理,因此我们在书写xml的时候 就不得不修改以前用于写html文件的那种缩进格式 。

如下:

<A>aaaaaaa</A>  和  <A>

                                    aaaaaaa  

                                    </A>

是不一样的 ,这一点一定要注意,尽管第二种在书写的时候可能容易理解 但是意义却相差很远。

 

6、CDATA区 ,

又叫 character data  ,在xml中用用于显示 不想被 xml解析程序解析的原始数据,解析器不会解析 。在CDATA区中的数据会原封不动的交给下游程序处理

<![CDATA[     ]]>   .例如我们在xml中嵌入javascript代码 ,代码中的小于号总是被当做 标签的开始部分来解释 从而出错 。为了解决这个问题可以用 CDATD区 。

<script type="text/javascript">

<![CDATA[ 

for(var i=0;i<5;i++)

     alert(i) ;

]]>

</script> 

这样就不会出错了  ,注意的是 CDATD区中和 xml标签中一样  有没有空格 和换行都是有区别的 。

CDATA区也是区分大小写 的 、

 

7、 xml中的转义字符 。。。 和html中意义一样

XML学习2

<?xml version="1.0" encoding="UTF-8" ?>
<!---->
<书架>
   <书>
  <书名>java就业&amp;培训</书名>
  <作者>张xx</作者>
  <价格 单价="&apos;元&quot;">20</价格>
   </书>
</书架>

 

8、处理指令 。 

处理指令是  Processing  Instruction  简称PI ,  用来为处理xml文档的程序提供指示信息 。<?xml version="1.0"  encoding="gb2312"?> 就是处理指令 

xml处理指令 以<?   ?>  开头和结尾,xml分析器把处理指令原封不动的传递给下游程序 ,让应用程序解析这个指令 ,按照他的提示进行相应的处理 。

例如下面这个处理指令

<?xml-stylesheet type="text/css" href="me.css"?> 

告诉应用程序使用me.css控制显示效果 。    xml的内容和表现形式是完全分开的 。