XML


总结:1.XML:可扩展的标记语言(标签语言);HTML:是超文本标记语言;
2.文档声明必须为<?xml 开头,以?>结束;versioin:指定XML版本号;encoding:指定当前文档的编码,默认值是:utf-8;
3.属性是元素的一部分,它必须出现在元素的开始标签中;
4.属性的定义格式:属性名=属性值,其中的属性值必须使用单引或双引;
5.一个元素可以有o-n个属性,但一个元素中不能出现同名属性。
6.属性名不能使用空格冒号等特殊字符必须要以字母开头。
7.特殊字符转义如:< > &等需要把带有特殊字符的语句放进<![CDATA[ 这里面写带有特殊字符的语句]]>
8.DTD:xml文档约束:规定xml文件中元素的名称,子元素的名称及顺序,元素的属性等。
DTD约束操作:把这句话复制到根目录的下面;<!DOCTYPE web-app SYSTEM "web-app_2_3.dtd">;1.然后需要将<servlet>点出来再将他的子类:<servlet--name>和<servlet-- class>点出来;2.再将<servlet--mapping>点出来然后把它的子类:<servlet--name>和<url--pattern>点出来
9.字符含义:?:可以出现也可以不出现,最多出现一次; *:可以出现多次也可以是0次,出现多少次都行; +:表示最少出现一次可以是多次; ():给元素分组
|:表示或的意思,就是从结果中选出一个。 、:表示对象必须按照指定的顺序出现
10、schema文档约束:<web-app xmlns="http://www.example.org/web-app_2_5"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.example.org/web-app_2_5 web-app_2_5.xsd"
version="2.5">
</web-app> 把声明放到xml文档根目录下,然后内容在</web-app>标签里面写,把1.然后需要将<servlet>点出来再将他的子类:<servlet--name>和<servlet-- class>点出来;2.再将<servlet--mapping>点出来然后把它的子类:<servlet--name>和<url--pattern>点出来
11.Dom:要求解析器把整个xml文档加载到内存,并解析成一个Document;优点:元素与元素之间保留结构关系,可以进行增删改查操作;缺点:文档过大会出现内存溢出。
12.SAX:是一种更快速的更有效的方法;优点:处理速度快,可处理大文件;缺点:只能读取不能增删改;
通过反射获取web对象对web对象内的类进行操作:
1.获取解析对象:SAXReader sax=new SAXReader();2.加载xml地址并获取dom对象:Document dom=sax.read("src/oracle/a.txt");
3.获取web根元素;web-app:Element element=dom.getRootElement();4.获取servlet元素:Element servlet=element.element("servlet");
5.获取servlet-class元素:Element servletclass=servlet.element("servlet-class");6.获取servlet-class的文本内容:String text=servletclass.gettext();
7.创建反射对象:Class c=Class.format(text);8.创建字节码文件对象:Object obj=c.newInstance();9.向下转型调子类方法:if(obj instanceof HelloServlet){
HelloServlet h=(HelloServlet)obj;调用子类方法和属性:h.inin();}
8.当看到完整的包名+类名的时候就是用反射

原文地址:https://www.cnblogs.com/hankai2735/p/11597969.html