黑马程序员技术交流社区

标题: 解析xml数据的代码块有个地方看不懂,求解答 [打印本页]

作者: hhmm665544    时间: 2014-4-16 00:18
标题: 解析xml数据的代码块有个地方看不懂,求解答
  1. import java.io.File;  
  2.   
  3. import org.dom4j.Document;  
  4. import org.dom4j.DocumentException;  
  5. import org.dom4j.Node;  
  6. import org.dom4j.io.SAXReader;  
  7. import org.junit.Test;  
  8.   
  9. public class Demo2 {  
  10.   
  11.     @Test  
  12.     public void check() throws DocumentException{  
  13.         String username = "bbb";  
  14.         String password = "123";  
  15.          
  16.         SAXReader reader = new SAXReader();  
  17.         Document document = reader.read(new File("src/user.xml"));  
  18.          
  19.         Node node = document.selectSingleNode("//user[@username='"+username+"' and @password='"+password+"']");  
  20.         if(node==null){  
  21.             System.out.println("对不起,密码错误或者用户名不存在!");  
  22.         }  
  23.         else{  
  24.             System.out.println("欢迎你,"+username);  
  25.         }  
  26.     }  
  27. }  
复制代码
  1. uesr.xml:

  2. [html] view plaincopy在CODE上查看代码片派生到我的代码片
  3. <?xml version="1.0" encoding="UTF-8"?>  
  4. <users>  
  5.     <user id="1" username="aaa" password="123" email="aa@sina.com" />  
  6.     <user id="2" username="bbb" password="123" email="bb@sina.com" />  
  7. </users>  
复制代码

这里面的document.selectSingleNode("//user[@username='"+username+"' and @password='"+password+"']");是怎么匹配的?//user[@username又是什么意思?

作者: ^o(孤8o|狼i¤F    时间: 2014-4-16 00:43
这句话 的意思是  
检测xml文档是否有匹配的用户名和密码
<user id="1" username="aaa" password="123" email="aa@sina.com" />  
通过user标签 中通过username这个属性值  来查找是否有匹配的用户名
作者: SyouRai_Tsk    时间: 2014-4-16 07:18
具体请参考xpath文档.里面写的很详细




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2