龙空技术网

XML元素

寒笛过霜天 49

前言:

如今小伙伴们对“xml属性值包含特殊字符”大概比较关心,姐妹们都想要分析一些“xml属性值包含特殊字符”的相关资讯。那么小编同时在网上收集了一些有关“xml属性值包含特殊字符””的相关资讯,希望你们能喜欢,看官们快快来学习一下吧!

元素包含标记和属性

标记规范:

1. 每个XML文档必须有且仅有一个根元素;

2. 根元素是一个完全包括文档中其他所有元素的元素;

3. 根元素的起始标记要放在所有其他元素的起始标记之前;

4. 根元素的结束标记要放在所有其他元素的结束标记之后;

5. XML元素指XML文件中出现的标签, 一个标签分为开始标签和结束标签, 主要有以下两种标签格式;

包含标签体:<a>www</a>

不包含标签体:<a></a>,简写为</a>

6. 一个标签中可以嵌套若干个子标签, 但所有标签必须是合理的嵌套, 决不允许交、叉嵌套;

7. 对于XML标签中出现的所有空格和换行, XML解析程序都会当做标签内容进行处理, 因此在编写XML文件时要特别注意空格和换行;

<name>松花江</name><name>松花江</name>

上面的写法不一样

在php解析一个XML文件的时候, 可能会把换行符读取

8. 一个XML元素可以包含字母、数字以及其它一些可见字符, 但必须遵守下面的一些规范:

区分大小写, 例如, <P>和<p>是两个不同的标记;

不能数字或"_"(下划线)开头;

不能以xml(或XML、或Xml等)开头;

不能包含空格;

名称中间不能包含冒号(:);

属性规范:

属性值用双引号和单引号

注意:如果属性中有单引号和双引号, 可以使用实体引用;

另一种方法,如果属性值本身包含双引号, 那么有必要使用单引号包围它, 反之用双引号包围它;

一个元素可以有多个属性, 它的基本格式为:

<元素名 属性值="属性值">

特定的属性名称在同一个元素标记中只能出现一次

属性值不能包括"<"、">"、"&"

属性可以使用子元素来替代。(和XHTML就不一样了, 原因XML可扩展, 但XHTML不可以)

大部分数据使用元素来表示, 少数的使用属性来表示。

因使用属性而引起的一些问题:

属性无法包含多重的值(元素可以);

属性无法描述树结构(元素可以);

属性不易扩展(为未来的变化);

属性难以阅读和维护;

请尽量使用元素来描述数据, 而仅仅使用属性来提供与数据无关的信息。

关于实体引用

在XML中, 一些字符拥有特殊的意义。

如果你把字符 "<" 放在XML元素中, 会发生错误, 这是因为解析器会把它当作新元素的开始。

这样会产生XML错误:

<message>if salary < 1000 then</message>为了避免这个错误, 请用实体引用来代替"<"字符:

<message>if salary < 1000 then</message> 在XML中, 有5个预定义的实体引用:

XML属性必须加引号

属性值必须被引号包围, 不过单引号和双引号均可使用。比如一个人的性别, person标签可以这样写:

<person sex="female">或者这样也可以:

<person sex='female'>注释:如果属性值本身包含双引号, 那么有必要使用单引号包围它, 就像这个例子:

<gangster name='George "Shotgun" Ziegler'>

或者可以使用实体引用:

<gangster name="George "Shotgun" Ziegler">

< < 小于

> > 大于

& & 和号

' ' 单引号

" " 引号

注意:在XML中, 只有字符"<"和"&"确实是非法的。大于号是合法的, 但是用实体引用来代替它是一个好习惯。

XML中的注释

在XML中编写注释的语法与HTML的语法很相似:

<!-- This is a comment -->

注意:注释内容中不要出现--

不要把注释放在标记中间,可以在标记以外的任何地方放注释

如<Name <!--the name-->>TOM</Name>

注释不能嵌套

在XML中, 空格会被保留

HTML会把多个连续的空格字符裁减(合并)为一个:

HTML: Hello my name is David.

输出: Hello my name is David.

在 XML 中,文档中的空格不会被删节。

标签: #xml属性值包含特殊字符