Java base XML uses dom4j parsing XML file servlet finds class based on pattern

Source: Internet
Author: User
Tags gettext

 PackageCom.swift.kaoshi;ImportJava.io.File;Importjava.util.List;ImportJava.util.Scanner;Importorg.dom4j.Document;Importorg.dom4j.DocumentException;Importorg.dom4j.Element;ImportOrg.dom4j.io.SAXReader;Importorg.junit.Test;/*<servlets> <servlet> <servlet-name>servlet1</servlet-name> <servlet-class>c n.itheima.servlets.myservlet1</servlet-class> </servlet> <servlet-mapping> <servlet-name >servlet1</servlet-name> <url-pattern>/s1</url-pattern> </servlet-mapping> <ser Vlet> <servlet-name>servlet2</servlet-name> <servlet-class>cn.itheima.servlets.myservle t2</servlet-class> </servlet> <servlet-mapping> <servlet-name>servlet2</servlet-na Me> <url-pattern>/s2</url-pattern> </servlet-mapping></servlets> Second, write the program, please parse the XML file as follows: 1. Receive the user input a string, for example: "/s1", the request program can be retrieved <servlet-mapping> element under the <url-pattern> element into the match, after matching to obtain the sibling <servlet-name The value of the > element, which is then retrieved by retrieving the value of the <servlet-name> element under the <servlet> element, after the match succeeds, gets the <url-pattern> value under the peer and prints the < The value of the url-pattern>. <servlet-class> Example: User input:/s1, console print: Cn.itheima.servlets.MyServlet1 user input:/S2, console print: Cn.itheima.servlets.MyServlet2 *///dom4j sax Traversal Public classdemo_dom4j { Public Static voidMain (string[] args)throwsException {//Saxreader reader = new Saxreader ();//Document document = Reader.read (new File ("Web. xml"));//String servlet_name = null;//        //System.out.println ("Please enter a path string:");//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 ("===========================================================================");//        //prepare to retrieve 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 ("The name of the class to be looked up is:" +servlet_class.gettext ());//                }//            }//        }} @Test Public voidShow ()throwsException {Saxreader reader=NewSaxreader (); Document Document= Reader.read (NewFile ("Web. xml")); String Servlet_name=NULL; System.out.println ("Please enter a path string:"); Scanner Scan=NewScanner (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 ("==========================================================================="); //prepare to retrieve servletList<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 ("The name of the class you want to find is:" +Servlet_class.gettext ()); }            }        }            }}

Java base XML uses dom4j parsing XML file servlet finds class based on pattern

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.