前言:
如今小伙伴们对“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属性值包含特殊字符