XML详细分析

java中配置文件的三种配置位置及读取方式

  • src根目录下
类名.Class.getREsourceAsStream("/config.properties");
  • 与读取配置文件的类在同一包
 类名.class.getResourceAsStream("config2.properties");
  • WEB-INF(或其子目录下)
 ServletContext application = this.getServletContext();
InputStream is =application.getResourceAsStream("/WEB-INF/config3.properties");

XML的作用

配置:

  • *.properties
  • *.xml

数据交互

  • xml
  • webservice
  • json

properties文件的解析方式有java.util.properties这个类来完成

	xml文件:应该有一个工具类来完成
	jdk/jdom
	sax解析	由上往下解析
	dom4j解析	由外到内解析

dom4j+xpath解析xml文件

xpath等同数据库的select语句

   document.selectNodes(xpath);//查一组
   document.selectSingleNode(xpath);//查单个

解析案例

分析得出具体的实现步骤

  • 1.加载资源文件
  • 2.解析得到所有的sudent标签
  • 3.遍历得到每一个student标签xml内容
  • 4.判断该student的sid是否是002
  • 5.如果是name进一步解析该student标签下面的子标签name
  • 6.一并打印该id的name值
public class Demo3 {
   public static void main(String[] args) throws DocumentException {
	//1.获取到待解析的资源文件
	//2.利用Dom4j进行解析
	   InputStream in = Demo3.class.getResourceAsStream("/student.xml");
	   SAXReader reader=new SAXReader();
	   Document document = reader.read(in);
	  // System.out.println(document.asXML());
	   
	   List<Element> stuEles = document.selectNodes("/config/student");
	   for (Element stuEle : stuEles) {
		   if("s002".equals(stuEle.attributeValue("sid"))) {
			   Element nameEle= (Element) stuEle.selectSingleNode("name");	
			   System.out.println("sid="+stuEle.attributeValue("sid")+"sname="+stuEle.attributeValue("name"));
		   }
		   
	}
	   
}
}

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读