dom4j及xpath的使用详细记载

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xfjjs_net/article/details/84928744

Xpath是专门用来对xml文档中查找信息的语言。利用它可以对xml的元素及属性进行遍历。

dom4j是用来读写xml的api,使用它可以进行比如xml配置文件的读写等....

详细的语法可以看这里

使用之前先导入两个jar包:dom4j-2.0.2.jar,jaxen-1.1.2.jar

创建两个xml文件.

1:book.xml

<?xml version="1.0" encoding="UTF-8"?>
<书架>
	<书>
		<书名>java编程思想</书名>
		<作者>BruceEckel</作者>
		<国家>美国</国家>
		<售价>68.0元</售价>
	</书>
	<书>
		<书名>java核心技术</书名>
		<作者>CayS.Horstmann</作者>
		<国家>X国</国家>
		<售价>96.0元</售价>
	</书>
</书架>

2:user.xml

<?xml version="1.0" encoding="UTF-8"?>
<users>
	<user id="1" username="aaa" password="123" email="[email protected]"></user>
	<user id="2" username="bbb" password="456" email="[email protected]"></user>
</users>

对xml进行简单的处理

		SAXReader reader=new SAXReader();
		Document document=reader.read(new File("book.xml"));
		
        //获取一个节点元素
		String value=document.selectSingleNode("//书名").getText();
		System.out.println(value);
		
		//获取所有节点元素
		List<Node> values=document.selectNodes("//书名");
		System.out.println(values.get(0).getText());
		

		//检测文档是否有匹配的用户名和密码
		String username="aaa";
		String password="123";
		document=reader.read(new File("users.xml"));
		
        //语法:title[@lang='eng'] 选取所有 title 元素,且这些元素拥有值为 eng 的 lang 属性。
		Node node=document.selectSingleNode("//user[@username='"+username+"'"+
		"and @password='"+password+"']");
	
		if (node!=null) {
			System.out.println("登录成功");
		}else {
			System.out.println("登陆失败");
		}

猜你喜欢

转载自blog.csdn.net/xfjjs_net/article/details/84928744