xpath就在此情况下产生了——主如果用于疾速猎取所需的[节点对象]。
在dom4j中怎样运用xPath手艺
1)导入xPath支撑jar包。 jaxen-1.1-beta-6.jar
2)运用xpath要领
List<Node> selectNodes("xpath表达式"); 查询多个节点对象
Node selectSingleNode("xpath表达式"); 查询一个节点对象
xPath语法
/ 绝对路径 示意从xml的根位置最先或子元素(一个条理构造)
// 相对路径 示意不分任何条理构造的挑选元素。
* 通配符 示意婚配一切元素
[] 前提 示意挑选什么前提下的元素
@ 属性 示意挑选属性节点
and 关联 示意前提的与关联(等价于&&)
text() 文本 示意挑选文本内容
案例
用户登录功用:
用户输入用户名和暗码 -> 到“数据库”查询是不是有对应的用户->
有:则示意登录胜利
没有:则示意登录失利
用xml当作数据库
user.xml 用来存储用户的数据
代码以下:
import java.io.BufferedReader; import java.io.File; import java.io.InputStreamReader; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; /** * xpath案例: 模仿用户登录结果 * @author APPle * */ public class Demo3 { public static void main(String[] args)throws Exception{ //1.猎取用户输入的用户名和暗码 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));//封装键盘录入,输入流 System.out.println("请输入用户名:"); String name = br.readLine(); System.out.println("请输入暗码:"); String password = br.readLine(); //2.到“数据库”中查询是不是有对应的用户 //对应的用户: 在user.xml文件中找到一个 //name属性值为‘用户输入’,且password属性值为‘用户输入’的user标签 Document doc = new SAXReader().read(new File("./src/user.xml")); Element userElem = (Element)doc.selectSingleNode("//user[@name='" +name +"' and @password='"+password+"']"); //在字符串中拼接变量的要领——先加一个双引号,再把光标移到双引号中心,写两个加号,再把光标移到加号中心写上变量。 //System.out.println(userElem.getName());//检察当前节点对象内容 if(userElem!=null){//申明在“数据库”内里找到了用户名和暗码。 //登录胜利 System.out.println("登录胜利"); }else{ //登录失利 System.out.println("登录失利"); } } }
以上就是xpath手艺剖析xml以及案例模仿用户登录结果的内容,更多相关内容请关注ki4网(www.ki4.cn)!