XML学习总结——SAXReader解析xml文件,实现反射 代码实例

简介: XML学习总结——SAXReader解析xml文件,实现反射 代码实例

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>MyServlet1</servlet-name> 
  <servlet-class>cn.itheima.web.servlet1.MyServlet1</servlet-class> 
  </servlet>
- <servlet-mapping>
  <servlet-name>MyServlet1</servlet-name> 
  <url-pattern>/myServlet1</url-pattern> 
  </servlet-mapping>
- <servlet>
  <servlet-name>MyServlet2</servlet-name> 
  <servlet-class>cn.itheima.web.servlet1.MyServlet2</servlet-class> 
  </servlet>
- <servlet-mapping>
  <servlet-name>MyServlet2</servlet-name> 
  <url-pattern>/myServlet2</url-pattern> 
  </servlet-mapping>
  </web-app>


接口


public interface IMyServlet {
  public void init();
  public void service();
  public void destory();
}


接口的一个实现类Myservlet1


public class MyServlet1 implements IMyServlet{
  @Override
  public void init() {
    System.out.println("MyServlet1诞生了……");
  }
  @Override
  public void service() {
    System.out.println("MyServlet1开始服务了……");
  }
  @Override
  public void destory() {
    System.out.println("MyServlet1销毁了……");
  }
}


接口的另一个实现类Myservlet2


public class MyServlet2 implements IMyServlet{
  @Override
  public void init() {
    System.out.println("MyServlet2诞生了……");
  }
  @Override
  public void service() {
    System.out.println("MyServlet2开始服务了……");
  }
  @Override
  public void destory() {
    System.out.println("MyServlet2销毁了……");
  }
}


Junit测试类


@Test
  public void testMyServlet(){
    try {
      //1.创建解析器对象
      SAXReader saxReader = new SAXReader();
      //2.使用解析器加载web.xml文件得到document对象
      Document document = saxReader.read("src/cn/itheima/web/servlet1/web.xml");
      //3.获取根元素节点
      Element rootElement = document.getRootElement();
      //4.根据元素名称获取子元素节点
      Element servletElement = rootElement.element("servlet");
      //5.根据元素名称获取servlet-class的文本节点
      String servletClass = servletElement.element("servlet-class").getText();
      //System.out.println(servletClass);
      //6.通过类全名获取字节码文件
      Class clazz = Class.forName(servletClass);
      //7.创建实例对象
      MyServlet1 my = (MyServlet1) clazz.newInstance();
      //8.调用实例对象里面的方法
      my.init();
      my.service();
      my.destory();
    } catch (Exception e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
目录
相关文章
|
4天前
|
XML 前端开发 数据格式
BeautifulSoup 是一个 Python 库,用于从 HTML 和 XML 文件中提取数据
BeautifulSoup 是 Python 的一个库,用于解析 HTML 和 XML 文件,即使在格式不规范的情况下也能有效工作。通过创建 BeautifulSoup 对象并使用方法如 find_all 和 get,可以方便地提取和查找文档中的信息。以下是一段示例代码,展示如何安装库、解析 HTML 数据以及打印段落、链接和特定类名的元素。BeautifulSoup 还支持更复杂的查询和文档修改功能。
11 1
|
1天前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML解析器是浏览器内置的工具,用于将XML转换为JavaScript可操作的XML DOM对象。这个DOM包含遍历、修改XML节点的函数。首先,XML文档需加载到DOM中,通过XMLHttpRequest对象实现,如示例所示:根据浏览器类型创建XMLHTTP对象,打开并发送GET请求到服务器获取&quot;books.xml&quot;,然后将响应转化为DOM对象。
|
2天前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML解析器是浏览器内置的工具,用于将XML转换为JavaScript可操作的XML DOM对象。通过DOM,可以进行节点的遍历、访问和修改。以下JS代码示例展示了如何加载XML文档&quot;books.xml&quot;:首先检查XMLHttpRequest支持,然后创建请求对象,打开并发送GET请求,最后将响应转化为DOM对象。
|
4天前
|
Android开发
android string.xml文件中的整型和string型代替
android string.xml文件中的整型和string型代替
|
4天前
|
XML Web App开发 JavaScript
XML DOM 解析器
XML解析器是浏览器内置工具,用于将XML转换为JavaScript可操作的XML DOM对象,允许遍历、修改节点。大多数现代浏览器支持这一功能。以下JS代码示例展示了如何加载XML文档&quot;books.xml&quot;
|
4天前
|
XML 安全 API
AndroidManifest.xml文件综合详解
AndroidManifest.xml文件综合详解
|
4天前
|
XML JavaScript Java
详解Java解析XML的四种方法
详解Java解析XML的四种方法
|
2天前
PandasTA 源码解析(二十三)
PandasTA 源码解析(二十三)
24 0
|
2天前
PandasTA 源码解析(二十二)(3)
PandasTA 源码解析(二十二)
18 0
|
2天前
PandasTA 源码解析(二十二)(2)
PandasTA 源码解析(二十二)
17 2

推荐镜像

更多