XML解析

读取指定文件下的资源文件(db.propeties)
1、读取同包下的资源文件
2、资源文件存放在根目录下

properties.class

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
 
public class properties {
 
    public static void main(String[] args) throws IOException {
         //1、读取根目录下文件(db.propeties)
 
       InputStream in=properties.class.getResourceAsStream("/db.properties");
 
      //2、读取同包下文件(db.propeties)
    //InputStream in=properties.class.getResourceAsStream("db.properties");
      
 
        Properties p=new Properties();
        p.load(in);
        System.out.println(p.getProperty("uname"));
        System.out.println(p.getProperty("upass"));
     
    }
     
}

  

3、资源文件存放在web-inf文件(db.propeties)

1
parseServlet .java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
package com.zking.properties;
 
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
 
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
 
/**
 * Servlet implementation class parseServlet
 */
public class parseServlet extends HttpServlet {
     
    private static final long serialVersionUID = 1L;
        
    /**
     * @see HttpServlet#HttpServlet()
     */
    public parseServlet() {
        super();
        // TODO Auto-generated constructor stub
    }
 
    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);             
    }          
 
    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 
        ServletContext context=request.getServletContext();
         
        InputStream in=context.getResourceAsStream("/WEB-INF/db.properties");
         
        Properties p=new Properties();
        p.load(in);
        System.out.println(p.getProperty("uname"));
        System.out.println(p.getProperty("upass"));
 
     
    }
 
}

  

dom4j + xpase解析XML

1
XMLDemo .class
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package com.zking.properties;
 
import java.io.InputStream;
import java.util.List;
 
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.SAXReader;
 
/*
 * dom4j
 * jdom jdk
 * sax解析
 *
 * 解析指定路径下的支援
 *
 */
 
public class XMLDemo {
public static void main(String[] args) throws Exception {
       
    InputStream in= XMLDemo.class.getResourceAsStream("students.xml");
      
        SAXReader sax=new SAXReader();
        Document doc=sax.read(in);
        System.out.println(doc.asXML());
//      xpath解析
//      xpath解析能够将xml格式的串当作目录结构来进行查找
//      List<Element> list=doc.selectNodes("/students/student");
//      for (Element element : list) {
//              if("s002".equals(element.attributeValue("sid"))) {
//          System.out.println(element.asXML());
//          Element name=(Element)element.selectSingleNode("name");
//          System.out.println(name.asXML());
//          System.out.println(name.getText());
//         
//              }
//      }
         
        Element  node=(Element) doc.selectSingleNode("/students/student[@sid='s002']");
        System.out.println(node.asXML());
     
        }
     
    }

xml解析

Temp.class

1、获取所有action中的type的值

1
2
3
4
5
6
7
8
9
10
11
12
  public static void main(String[] args) throws Exception {
        InputStream in=XmlDemo.class.getResourceAsStream("config.xml");       
        SAXReader sax= new SAXReader();
        Document doc=sax.read(in);
  //       获取所有action中的type的值
        List<Element> stuEles= doc.selectNodes("/config/action");
        for (Element stuEle : stuEles) {
            String type=stuEle.attributeValue("type");
            System.out.println(type);
                 
        }   
}

  


2、获取第二个action中的type的值

1
2
3
4
5
6
7
8
9
public static void main(String[] args) throws Exception {
  List<Element> stuEles= doc.selectNodes("/config/action");
        for (Element stuEle : stuEles) {
            if("/loginAction".equals(stuEle.attributeValue("path"))) {
                 String type=stuEle.attributeValue("type");
                 System.out.println(type);
               }
            }
}

  


3、获取第二个action的所有forward的path

1
2
3
4
5
6
7
8
9
10
11
12
public static void main(String[] args) throws Exception {
    List<Element> stuEles= doc.selectNodes("/config/action");
        for (Element stuEle : stuEles) {
            if("/loginAction".equals(stuEle.attributeValue("path"))) {
                List<Element> ford=(List<Element>) stuEle.selectNodes("forward");
                for (Element element : ford) {
                   String path=element.attributeValue("path");
                   System.out.println(path);
                }
            }
        }
}

  


4、获取第二个action的第二个forward的path

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public static void main(String[] args) throws Exception {
  List<Element> stuEles= doc.selectNodes("/config/action");
        for (Element stuEle : stuEles) {
            if("/loginAction".equals(stuEle.attributeValue("path"))) {
               List<Element> ford=(List<Element>) stuEle.selectNodes("forward");
                for (Element element : ford) {
                    if("success".equals(element.attributeValue("name"))) {
                    String path=element.attributeValue("path");
                    System.out.println(path);
                    }
                }
            }
        }
 
 
    }
原文地址:https://www.cnblogs.com/BAYOUA/p/11004314.html