XML 解析
XML 解析
获取 properites 文件
不同位置对properites文件的调用:
1、若调用的文件就在该类的包中时:
public class properitesDemo {
public static void main(String[] args) throws IOException {
InputStream in = properitesDemo.class.getResourceAsStream("db.properties");//获取到该包下的properites文件
Properties p = new Properties();//实列化properties
p.load(in); //读取文件里的资源
String name = p.getProperty("uname"); //根据名字获取字符
System.out.println(name);
}
}
2、若调用的文件在其它的包中时:
将 properitesDemo.class.getResourceAsStream("db.prope rties");
改为 properitesDemo.class.getResourceAsStream("/db.properties");
3、若调用的文件在WEB-INF中时:
要写Servlet并且配置
public class properitesServlet extends HttpServlet {
private static final long serialVersionUID = 7973003110170094853L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ServletContext context = req.getServletContext();//这里的代码是本类的ServletContext去获得的
InputStream in = context.getResourceAsStream("/WEB-INF/db.properties");//获取相对应的位置文件
Properties p = new Properties();//因为还是properites文件
p.load(in);
System.out.println(p.getProperty("uname"));
}
}
配置:
<servlet>
<servlet-name>proServlet</servlet-name>//配置的名字
<servlet-class>com.liwangwang.pares.properitesServlet</servlet-class>//绝对路径
</servlet>
<servlet-mapping>
<servlet-name>proServlet</servlet-name>//配置的名字
<url-pattern>/proServlet</url-pattern>//引用时的地址
</servlet-mapping>
XML的解析
解析XML文件的方法:
1、jdk/jdom
2、sax解析 (由上往下解析)
3、dom4j解析 (由外到内解析)
补充:
DOM由节点组成
Node
元素节点
属性节点
文本节点
对XML中的解析主要的是对每个元素节点的分析:
document.selectNodes(xpath);//查一组
document.selectSingleNode(xpath);//查单个