java基础 xml 使用dom4j解析 xml文件 servlet根…
2018-06-18 02:52:06来源:未知 阅读 ()
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; /* <servlets> <servlet> <servlet-name>servlet1</servlet-name> <servlet-class>cn.itheima.servlets.MyServlet1</servlet-class> </servlet> <servlet-mapping> <servlet-name>servlet1</servlet-name> <url-pattern>/s1</url-pattern> </servlet-mapping> <servlet> <servlet-name>servlet2</servlet-name> <servlet-class>cn.itheima.servlets.MyServlet2</servlet-class> </servlet> <servlet-mapping> <servlet-name>servlet2</servlet-name> <url-pattern>/s2</url-pattern> </servlet-mapping> </servlets> 二、编写程序,请按以下要求解析XML文件: 1. 接收用户输入一个字符串,例如:”/s1”,要求程序可以通过检索<servlet-mapping>元素下的<url-pattern>元素进匹配,匹配后获取同级的<servlet-name>元素的值; 通过这个值再检索<servlet>元素下的<servlet-name>元素的值进行匹配,匹配成功后,获取同级下的<url-pattern>的值,并打印<url-pattern>的值。<servlet-class> 例如:用户输入:/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<Element> mappings = root.elements("servlet-mapping"); // for (Element element : mappings) { // System.out.println(element); // List<Element> 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<Element> servlets=root.elements("servlet"); // for(Element servlet:servlets) { // System.out.println(servlet); // List<Element> 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<Element> mappings = root.elements("servlet-mapping"); for (Element element : mappings) { System.out.println(element); List<Element> 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<Element> servlets=root.elements("servlet"); for(Element servlet:servlets) { System.out.println(servlet); List<Element> 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的内容如下: <?xml version = “1.0” encoding=”UTF-8”?> <products> <product id = “p001”> <name>华为X80</name> <color>白</color> <price>2800</price> </product> <product id = “p002”> <name>华为X88</name> <color>黑</color> <price>2900</price> </product> </products> 操作步骤描述 1.在项目目录下,按照已给出的XML内容创建product.xml文件 2.使用核心类SaxReader加载xml文档获得Document 3.通过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<Element> products = root.elements("product"); for (Element product : products) { Attribute attri = product.attribute("id"); System.out.println("product "+attri.getName()+"的属性值是 "+attri.getData()); List<Element> dazahui=product.elements(); for(Element za:dazahui) { String name=za.getName(); String text=za.getText(); System.out.println(name+" 元素的值为 "+text); } } } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:Lucene详解
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash