xml是代替control曾与页面进行交互的一种方式
它一般使用两种约束来规范写法:DTD约束,schema约束,两者都需要导入jar包到xml文件目录下,它们的构建方式基本相同。
下面是实例:
DTD约束创建XML文件
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE web-app SYSTEM "web-app_2_3.dtd"> <web-app> <servlet> <servlet-name></servlet-name> <servlet-class></servlet-class> </servlet> <servlet-mapping> <servlet-name></servlet-name> <url-pattern></url-pattern> </servlet-mapping>
Schema约束创建xml文件:
<?xml version="1.0" encoding="UTF-8"?> <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"> <servlet> <servlet-name>sname</servlet-name> <servlet-class>com.java.oracle.myclass</servlet-class> </servlet> <servlet-mapping> <servlet-name>sname</servlet-name> <url-pattern>/sname</url-pattern> </servlet-mapping> </web-app>
dom4j是解析xml文件的一种方式,它通过解析xml文件获取到其中指向的类。dom4j的解析步骤如下
1.获取解析器:安装dom4j的jar包,构建路径,通过创建SAXReader对象的方式来获取解析器。
2.获得document对象,通过SAXReader的对象的read方法获得document对象,read方法的括号中写入你要读取的xml文件路径
3.获得根元素,通过document对象的getRootElement的方法来获得根元素。
4.通过根元素找到子元素,有element(“元素名”)//获得特点子元素;elements()//获得子元素的元素集合;getText()//获得当前元素的文本内容;
attributeValue(属性名)//获得指定属性名的属性值; elementText(子元素名)获得指定名称子元素的文本值;等方法。
5.通过反射调用类中的方法
下面是个实例:
public class Demo { public static void main(String[] args) throws Exception { SAXReader saxreader=new SAXReader(); Document doc=saxreader.read("src/com/java/ti4/web.xml"); Element root=doc.getRootElement(); Element servlet=root.element("servlet"); String url=servlet.elementText("servlet-class"); Class c=Class.forName(url); Object obj=c.newInstance(); Method method1=c.getMethod("init"); Method method2=c.getMethod("service"); Method method3=c.getMethod("destroy"); method1.invoke(obj); method2.invoke(obj); method3.invoke(obj); } }