学习使用Xpth。前提注意除了需要dom4j包,还需要jaxen-xxxx.jar包,负责使用Xpath时会报错。
User.xml如下:
?
users.xml" name="code"><users> <user id="1"> <username>admin</username> <password>admin</password> <userType>0</userType> <createTime></createTime> <lastLoginTime></lastLoginTime> <isDelete>0</isDelete> </user> </users>
Dom4j获取Document两种方法
1通过文件名找
public Document read(String fileName) throws MalformedURLException, DocumentException { SAXReader reader = new SAXReader(); Document document = reader.read(new File(fileName)); return document; }
?2通过流
InputStream input = this.getClass().getClassLoader().getResourceAsStream(Users.xml)
public Document read(InputStream inputStream) throws DocumentException { SAXReader reader = new SAXReader(); Document document = reader.read(inputStream); return document; }?
写通过用户名密码查找用户
?
Element node = (Element) doc.selectSingleNode("//user[username = '"+ username +"' and password = '"+ password +"']");
这里值得注意的有两点,字符串对象需要单引号。Dom4j的Node对象可以直接转换为Element对象。
其中Xpath的规则可以参考http://www.w3school.com.cn/xpath/index.asp
?
写给自己学习用,持续更新。