xml 是代替 control 曾与页面进行交互的一种方式
它一般使用两种约束来规范写法: DTD 约束, schema 约束, 两者都需要导入 jar 包到 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);
- }
- }
- XML
来源: http://www.bubuko.com/infodetail-2666679.html