j2ee学习总结之web基础8
******XML(eXtensible Markup Language)
--XML不能描述网页具体的外观,它只是描述数据的结构和内容;
--XML没有固定的标记,允许用户随便发明和创建自己的标记(可扩展性);
--XML 文档是一种树结构;
******XML Declaration
<?xml version="1.0" [encoding="utf-8"] [standalone="yes|no"] ?>
--文档的声明在XML文件中是可选的(推荐使用文档声明);
--如果在XML中写出了声明,就必须包含version属性,表示XML的版本;
--encoding属性:文档使用的字符编码方式,默认的是Unicode编码;
--standalone属性:说明文档是否是独立,默认的是yes;
******XML Element
--XML的基本组成单位;
--元素由标记来定义;
<元素名 属性名="属性值">
文本内容
</元素名>
--元素之间是可以嵌套的,但是不能交叉;
--元素可以重复;
--一个文档中必须包含一个并且只能是一个Root Element;
--empty element(不包含任何内容的元素)
<空元素名 属性名="属性值"></空元素名>
<空元素名 属性名="属性值"/>
******XML Element的命名规则:
1.元素名称不能以数字或“_”开头;
2.XML的元素名称中可以包含字母、数字、.、逗号、下划线;
3.不能以XML字符串开头;
4.不能包含有空格和冒号;
5.元素名称是区分大小写的;
******Attribute
--标签中可以有一个或者多个属性,每个属性都有名字和取值;
--标签中的属性可以自己定义;
--属性值一定要写在双引号或者单引号中;
--属性名是区分大小写的;
--属性不容易被扩展和程序操作,但是程序处理属性的速度比子元素快;
******Element Content
1.元素内容可以使用两种方式来处理:
1>CDATA(Character Data)字符数据
<![CDATA[...Anything can write here...]]>
--不想被解析程序解析的数据区;
2>PCDATA(Pared Character Data)
--直接写在元素的其实标记和结束标记之间的内容;
--由XML解析器解析的内容;
--对于特殊字符(<,>,&,',")不能写在该区域;(需要分别使用<,>,&,&apos,"转义)
******XML Comments 注释:
<!--Comments-->
--不能将注释放在XML声明之前;
--注释不能嵌套使用;
******XML处理命令Prcocessing instruction
<?......?>
--用来为处理XML文档的应用程序(如浏览器)提供信息;
--XML分析器把处理命令原封不动地传递给应用程序,由应用程序来解释这个指令,按照它所提供的信息进行处理;
1>使用CSS方式显示
<?xml-stylesheet type="text/css" href="book.css" ?>
--在book.css中定义显示的样式;
2>使用XSLT(eXtensible Stylesheet Language Transformations)方式显示
<?xml-stylesheet type="text/xsl" href="book.xsl"?>
--在book.xsl中定义显示的样式;
******Well-formed XML(格式良好的XML文档)
--遵守XML基本语法规则和规范;
******约束模式
--约束模式通常都在一个单独的文件中进行定义,这个文件称为模式文档;
--xml约束模式文档中的内容本身也需要遵守一定的语法规则;
--xml约束模式语言定义了xml约束模式文档的语法规则;
--模式文档就是使用xml约束模式语言来编写的;
******XML的约束模式语言:
1.xml dtd(document type definition)文档类型定义:
2xml schema(称为了W3C的正式推荐标准)
******Import XML Schema:
<根标签名
xmlns="当前xml文档的url"
xmlns:前缀名="需要遵循的xml约束文档的rul"
前缀名:schemaLocation="需要遵循的xml约束文档的rul xml约束文档的位置"
>
******XML DOM
--整个文档是一个元素节点;
--每个xml标签是一个元素节点;
--包含在xml元素中的文本是文本节点;
--每个xml属性是一个属性节点;
--注释属于注释节点;
--父、子和同级节点分别为ParentNode、Children Node、Sibling Node;
******javascript操作xml的过程:
1.xml解析器把xml转换为javascript可以访问的对象;
2.javascript加载xml文件
1>通过微软的XML解析器加载xml文件
i.方式一
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");//
xmlDoc.async="false";//
xmlDoc.load("xml文件名");//
ii.方式二
xhttp=new ActiveXobject("Microsoft.XMLHTTP");
xhttp.open("GET","xml文件名",false);
xhttp.send();
xmlDoc=xhttp.responseXML;
iii.方式三
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlTxt="...";
xmlDoc.loadXML(xmlTxt);
2>通过其他浏览器的XML解析器加载xml文件
i.方式一
xmlDoc=document.implementation.createDocument("","",null);
xmlDoc.async="false";
xmlDoc.load("xml文件名");
ii.方式二
xhttp=new XMLHttpRequest();
xhttp.open("GET","xml文件名",false);
xhttp.send();
xmlDoc=xhttp.responseXML;
iii.方式三
parser=new DOMParser();
xmlTxt="...";
xmlDoc=parser.parserFromString(xmlTxt,"text/xml");
3.javascript操作xml文件