博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java基础 xml 使用dom4j解析 xml文件 servlet根据pattern 找到class
阅读量:6584 次
发布时间:2019-06-24

本文共 5122 字,大约阅读时间需要 17 分钟。

package com.swift.kaoshi;import java.io.File;import java.util.List;import java.util.Scanner;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;import org.junit.Test;/*
servlet1
cn.itheima.servlets.MyServlet1
servlet1
/s1
servlet2
cn.itheima.servlets.MyServlet2
servlet2
/s2
二、编写程序,请按以下要求解析XML文件:1. 接收用户输入一个字符串,例如:”/s1”,要求程序可以通过检索
元素下的
元素进匹配,匹配后获取同级的
元素的值;通过这个值再检索
元素下的
元素的值进行匹配,匹配成功后,获取同级下的
的值,并打印
的值。
例如:用户输入:/s1,控制台打印:cn.itheima.servlets.MyServlet1 用户输入:/s2,控制台打印:cn.itheima.servlets.MyServlet2*///dom4j SAX遍历public class Demo_Dom4j { public static void main(String[] args) throws Exception {// SAXReader reader = new SAXReader();// Document document = reader.read(new File("web.xml"));// String servlet_name = null;// // System.out.println("请输入一个路径字符串:");// Scanner scan = new Scanner(System.in);// String str = scan.nextLine();//// Element root = document.getRootElement();// List
mappings = root.elements("servlet-mapping");// for (Element element : mappings) {// System.out.println(element);// List
urls = element.elements("url-pattern");// for (Element url : urls) {// System.out.println(url);// String text=url.getText();// System.out.println(text);// if(text.equals(str)) {// Element name=element.element("servlet-name");// servlet_name=name.getText();// System.out.println(servlet_name);// }// }// }// System.out.println("===========================================================================");// //准备检索servlet// List
servlets=root.elements("servlet");// for(Element servlet:servlets) {// System.out.println(servlet);// List
servlet_names=servlet.elements("servlet-name");// for(Element servlet_n:servlet_names) {// String servlet_name1=servlet_n.getText();// System.out.println(servlet_name1);// if(servlet_name1.equals(servlet_name)) {// Element servlet_class=servlet.element("servlet-class");// System.out.println("需要查找的类的名称是: "+servlet_class.getText());// }// }// } } @Test public void show() throws Exception { SAXReader reader = new SAXReader(); Document document = reader.read(new File("web.xml")); String servlet_name = null; System.out.println("请输入一个路径字符串:"); Scanner scan = new Scanner(System.in); String str = scan.nextLine(); Element root = document.getRootElement(); List
mappings = root.elements("servlet-mapping"); for (Element element : mappings) { System.out.println(element); List
urls = element.elements("url-pattern"); for (Element url : urls) { System.out.println(url); String text=url.getText(); System.out.println(text); if(text.equals(str)) { Element name=element.element("servlet-name"); servlet_name=name.getText(); System.out.println(servlet_name); } } } System.out.println("==========================================================================="); //准备检索servlet List
servlets=root.elements("servlet"); for(Element servlet:servlets) { System.out.println(servlet); List
servlet_names=servlet.elements("servlet-name"); for(Element servlet_n:servlet_names) { String servlet_name1=servlet_n.getText(); System.out.println(servlet_name1); if(servlet_name1.equals(servlet_name)) { Element servlet_class=servlet.element("servlet-class"); System.out.println("需要查找的类的名称是: "+servlet_class.getText()); } } } }}

 属性值的解析

package com.swift.kaoshi;import java.io.File;import java.util.List;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.io.SAXReader;/*有product.xml,请使用dom4j解析出所有的商品信息,并打印商品的所有属性值:product.xml的内容如下:
华为X80
2800
华为X88
2900
操作步骤描述1.在项目目录下,按照已给出的XML内容创建product.xml文件2.使用核心类SaxReader加载xml文档获得Document3.通过Document对象获得文档的根元素4.获得所有product元素5.获得元素属性的属性值及元素下的子元素的所有文本内容*/public class Dom4j_Attribute { public static void main(String[] args) throws Exception { SAXReader sax = new SAXReader(); Document document = sax.read(new File("product.xml")); Element root = document.getRootElement(); List
products = root.elements("product"); for (Element product : products) { Attribute attri = product.attribute("id"); System.out.println("product "+attri.getName()+"的属性值是 "+attri.getData()); List
dazahui=product.elements(); for(Element za:dazahui) { String name=za.getName(); String text=za.getText(); System.out.println(name+" 元素的值为 "+text); } } }}

 

转载于:https://www.cnblogs.com/qingyundian/p/8545404.html

你可能感兴趣的文章
决心书
查看>>
如何把图片上的文字转换成word?
查看>>
7z命令行
查看>>
C语言编程实现 输入一个非负整数,返回组成它的数字之和(递归方法)
查看>>
c3p0
查看>>
我的友情链接
查看>>
引号-下划线,连接多个变量
查看>>
我的友情链接
查看>>
38线程1-Thread-local-Timer
查看>>
处理svn的 File '/aa' is out of date
查看>>
解决 Ubuntu 16.04 LTSSublime text3中文问题
查看>>
mysql主从复制实现数据库同步
查看>>
面试-1
查看>>
CentOS自动登录Gnome
查看>>
第一章,重点总结
查看>>
LeetCode - 49. Group Anagrams
查看>>
移动前端不得不了解的html5 head 头标签
查看>>
Tomcat 服务器性能优化
查看>>
【框架学习】ibatis DAO框架分析
查看>>
ZOJ 3640 Help Me Escape
查看>>