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"));
		   }
		   
	}
	   
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值