XML解析

如何获取properites文件

我们将如何来获取properites文件
1.1同包下的资源文件




public class PropertiesDemo {
	public static void main(String[] args) throws IOException {
		//将当前同包下的db.properties资源文件转换为输入流
		InputStream in = PropertiesDemo.class.getResourceAsStream("db.properties");
		Properties p =new Properties();
		p.load(in);//加载到工具类
		System.out.println(p.getProperty("uname"));
		System.out.println(p.getProperty("upass"));

}



//不同包的资源文件

public class PropertiesDemo {
	public static void main(String[] args) throws IOException {
		//将当前同包下的db.properties资源文件转换为输入流
		//斜杆/代表根目录
		InputStream in = PropertiesDemo.class.getResourceAsStream("/db.properties");
		Properties p =new Properties();
		p.load(in);//加载到工具类
		System.out.println(p.getProperty("uname"));
		System.out.println(p.getProperty("upass"));

}
存放位置

1.1 src根目录下 PropertiesDemo 代表的是我的包名
PropertiesDemo .class.getResourceAsStream("/config.properties");

1.2 与读取配置文件的类在同一包 PropertiesDemo.class.getResourceAsStream(“config2.properties”);

在这之前记住一定要先创建XML
如果之前忘记了勾选那么就按照小编写的步骤慢慢来勾选吧
1.找到自己所创建的项目名右键
2.找到Java EE Tools
3.双击Generate Deployment Descriptor Stub就完成啦

如何去解析XML
在这时需要两个外部工具包
jaxen-1.1-beta-6
dom4j-1.6.1
注:不要导错了架包


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;
//这相当于一个学生集合
//里面放的是一些学生
<?xml version="1.0" encoding="UTF-8"?>
<students>
	<student sid="s001">
		<name>小明</name>
	</student>
	<student sid="s002">
		<name>小芳</name>
	</student>
	<student sid='s003'>
		<name>小王</name>
	</student>
</students>




//第一种方法
public class XmlParseDemo {
	public static void main(String[] args) throws DocumentException {
		InputStream in = XmlParseDemo.class.getResourceAsStream("students.xml");
		SAXReader saxReader =new SAXReader();
		Document doc = saxReader.read(in);

		
		//获取到所以的学生
		List<Element> stuEles = doc.selectNodes("/students/student");
		2.遍历
		for (Element stuEle : stuEles) {
		if("s003".equals(stuEle.attributeValue("sid"))) {
		//获取到小王
				Node nameEle = (Element)stuEle.selectSingleNode("name");
				System.out.println(nameEle.getText());
			}
		}

//第二种方法
	public class XmlParseDemo {
		public static void main(String[] args) throws DocumentException {
			InputStream in = XmlParseDemo.class.getResourceAsStream("students.xml");
			SAXReader saxReader =new SAXReader();//这是xml所自带的方法 与properites不同
			Document doc = saxReader.read(in);
	
			InputStream in = XmlParseDemo.class.getResourceAsStream("students.xml");
			SAXReader saxReader =new SAXReader();
			Document doc = saxReader.read(in);
			Node stuEleS003 = doc.selectSingleNode("/students/student[@sid='s003']");
			System.out.println(stuEleS003.selectSingleNode("name").getText());
		}
	}

解析的方法有很多种 比如:

jdk/jdom
sax解析	由上往下解析
dom4j解析	由外到内解析

dom4j+xpath解析xml文件
xpath等同数据库的select语句

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

properties文件的解析方式有java.util.properties这个类来完成
xml文件:应该有一个工具类来完成
DOM由节点组成
Node
元素节点
属性节点
文本节点

xpath
/ 定位路径 在系统中建一个文件叫document/students/student/sid|name

什么是节点

:列如

这里的每一个标签都代表这一个节点
			<html>
				<body>
					<div id="head"></div>
					<div id="content">
						xxxx
						<div></div>
					</div>
				</body>
			</html>

静态资源文件 列如:
css、js、html、图片、视屏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值