XML 和properties
properties:
1、存放于src根目录下
//获取到同包下的资源文件,将其转换成流对象
//InputStream is= PropertiesDemo.class.getResourceAsStream("/db.properties");
//需要专门的工具类来讲流中的数据
Properties p=new Properties();
p.load(is);
System.out.println(p.getProperty("uname"));
System.out.println(p.getProperty("upass"));
2、与读取配置文件的类在同一包
//InputStream is= PropertiesDemo.class.getResourceAsStream("db.properties");
Properties p=new Properties();
p.load(is);
System.out.println(p.getProperty("uname"));
System.out.println(p.getProperty("upass"));
3、存放在WEB-INF(或其子目录下)
//新建一个servlet类
ServletContext context=request.getServletContext();
InputStream is=context.getResourceAsStream("/WEB-INF/db.properties");
Properties p=new Properties();
p.load(is);
System.out.println(p.getProperty("uname"));
System.out.println(p.getProperty("upass"));
4. dom4j+xpath解析xml文件
InputStream is = XMLDemo.class.getResourceAsStream("students.xml");
// SAXReader saxReader = new SAXReader();
// Document doc = saxReader.read(is);
// System.out.println(doc.asXML());
// // xpath
// List<Element> stueles=doc.selectNodes("/students/student");
// for (Element element : stueles) {
//// 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 stuele =(Element) doc.selectSingleNode("/students/student[@sid='s001']");
// System.out.println(stuele.asXML());
package com.lingerqi.demo;
import java.io.InputStream;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
* 解析指定路径下的资源文件(dom4j)
*
* @author xyls
*
*/
public class XMLDemo {
public static void main(String[] args) throws Exception {
InputStream is = XMlDemo.class.getResourceAsStream("config.xml");
SAXReader reader = new SAXReader();
Document doc = reader.read(is);
List<Element> stueles = doc.selectNodes("/config/action");
for (Element element : stueles) {
Element forward = (Element) element.selectSingleNode("forward");
String type = element.attributeValue("type");
String path = element.attributeValue("path");
// if (path.equals("/loginAction")) {
// 2、获取第二个action中的type的值
// System.out.println(type);
// }
// 1、获取所有action中的type的值
// System.out.println(type);
// String fpath=forward.attributeValue("path");
// System.out.println(type);
if (element.attributeValue("path").equals("/loginAction")) {
List<Element> ford = (List<Element>) element.selectNodes("forward");
for (Element element2 : ford) {
String fpath = forward.attributeValue("path");
// 3、获取第二个action的所有forward的path
System.out.println(fpath);
}
}
if (path.equals("/loginAction")) {
// 4、获取第二个action的第二个forward的path
// System.out.println(fpath);
}
}
// if (path.equals("/loginAction")) {
// 4、获取第二个action的第二个forward的path
// System.out.println(fpath);
// }
}
}