XML基础:
2. 常见错误,空格问题
3. xml文档只能有一个根标签
4. xml标签中出现的所有空格和换行,xml解析程序都会当作原始内容处理
5. xml声明必须出现在第一行,注释也不能出现在声明前
6. Xml文件中的注释采用:“<!--注释-->” 格式。注释不能嵌套
7. 由于在XML中,空格和换行都作为原始内容被处理,所以,在编写XML文件时,使用换行和缩进等方式来让原文件中的内容清晰可读的“良好”书写习惯可能要被迫改变。
8. xml元素命名:一个XML元素可以包含字母、数字以及其它一些可见字符,但必须遵守下面的一些规范:
区分大小写,例如,<P>和<p>是两个不同的标记。
不能以数字开头。
不能以xml(或XML、或Xml 等)开头。
不能包含空格。
名称中间不能包含冒号(:)。
不能以数字开头。
不能以xml(或XML、或Xml 等)开头。
不能包含空格。
名称中间不能包含冒号(:)。
9. 不想让解析引擎解析的写在CDATA区里
在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理。
遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直接原封不动的输出。
其语法格式为:
遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直接原封不动的输出。
其语法格式为:
<![CDATA[ 内容 ]]>
<![CDATA[
<itcast>
<br/>
</itcast>
]]>
10. 特殊字符需转义:对于一些单个字符,若想显示其原始样式,也可以使用转义的形式予以处理。
<![CDATA[
<itcast>
<br/>
</itcast>
]]>
10. 特殊字符需转义:对于一些单个字符,若想显示其原始样式,也可以使用转义的形式予以处理。
11. 处理指令:
处理指令,简称PI (processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容。
例如,在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用css文件显示xml文档内容。
例如,在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用css文件显示xml文档内容。
<?xml-stylesheet type="text/css" href="1.css"?>
处理指令必须以“<?”作为开头,以“?>”作为结尾,XML声明语句就是最常见的一种处理指令。
处理指令必须以“<?”作为开头,以“?>”作为结尾,XML声明语句就是最常见的一种处理指令。
12.什么时候用属性,什么时候用标签?
你看着像数据的,就用子标签来表示。
XML约束:
遵循XML语法的文档叫做“格式良好的”,遵循约束的文档叫做“有效的”
遵循XML语法的文档叫做“格式良好的”,遵循约束的文档叫做“有效的”
1. 什么是XML约束?
在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束。
在XML技术里,可以编写一个文档来约束一个XML文档的书写规范,这称之为XML约束。
XML的约束文档定义了XML中允许出现的元素名、属性及顺序。
2. XML通过使用DOCTYPE声明语句来指明它遵循的DTD文件。该语句紧跟在XML文档声明语句的后面。
1.xml都是自定义的标签,ie并不认识,所以显示为源代码。
1.xml都是自定义的标签,ie并不认识,所以显示为源代码。
2.什么时候用属性,什么时候用标签?
你看着像数据的,就用字标签来表示。
3.IE浏览器是非校验的解析器
4.CDATA--characterdata--字符数据
5.<--<(less than) >-->(great than)
6.XML是用于描述数据的。CSS控制其显示
7.XML文件定义DTD语法
<!DOCTYPE 根元素名 [
DTD的定义内容
]>
8.引入本地DTD约束文档
<!DOCTYPE 根元素名 SYSTEM "DTD文件的路径">
9.引入公共的DTD约束文档
<!DOCTYPE 文档根结点 PUBLIC "DTD名称" "DTD文件的URL">
DTD语法细节
1、逗号规定元素出现的顺序
2、“|”规定选择某一个元素,不能同时出现
3、元素内容使用空白符分隔,不能表示出现顺序没有要求;#PCDATA-->parsed character data
4、<!ATTLIST 元素名
属性名1 属性值类型 设置说明
属性名2 属性值类型 设置说明
……
>
5、DTD定义属性类型
属性值类型:
CDATA:普通字符串 character data
6、设置说明
#REQUIRED:必须设置该属性
#IMPLIED:可以设置也可以不设置
#FIXED:说明该属性的取值固定为一个值,在 XML 文件中不能为该属性设置其它值。但需要为该属性提供这个值
直接使用默认值:在 XML 中可以设置该值也可以不设置该属性值。若没设置则使用默认值。
7、实体的定义都在DTD中,供XML来使用称为引用实体,如果是DTD自身来使用的话称为参数实体。
8、引用实体定义语法
<!ENTITY 实体名称 "实体内容">
XML中如何使用:&实体名称;
9、参数实体定义语法(只能用在单独的DTD文件中)
<!ENTITY % 实体名称 "实体内容" >
DTD中如何使用:%实体名称;
XML编程:
1、解析开发包:
a、JAXP:标准,Sun实现的
b、dom4j:开源组织实现(目前最优秀的解析开发包,SUN公司的JAXM都是采用DOM4j进行解析XML文档的)
2、利用JAXP采用DOM方式解析XML文档
首先得到代表xml文档的Document对象
可以通过以下方式来获取:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse("xml");
3、Eclipse的快捷键
alt+/用于代码提示
ctrl+shit+c用于注释代码
ctrl+shit+o批量import