>  기사  >  백엔드 개발  >  xpath 기술은 xml을 구문 분석하고 케이스는 사용자 로그인 효과를 시뮬레이션합니다.

xpath 기술은 xml을 구문 분석하고 케이스는 사용자 로그인 효과를 시뮬레이션합니다.

黄舟
黄舟원래의
2017-02-16 15:26:291668검색

문제: dom4j를 사용하여 더 깊은 계층 구조의 노드(레이블, 속성, 텍스트)를 쿼리할 때 더 문제가 됩니다! ! !

이 상황에서 xpath가 생성됩니다. 주로 필요한 [노드 개체]를 빠르게 얻는 데 사용됩니다.


dom4j에서 xPath 기술을 사용하는 방법


가져오기 1) xPath는 jar 패키지를 지원합니다. jaxen-1.1-beta-6.jar

                                                                                       List120eba4139f9e07e663a91946c19df5b selectNodes("xpath 표현식"); 여러 노드 개체 쿼리

노드 selectSingleNode("xpath 표현식");


xPath 구문


/ / 절대 경로는 xml의 루트 위치 또는 하위 요소(a 계층구조)

                                                                                              ~

                                 *                                                ~ ~ | | gt; " 해당 사용자가 있는지 확인하기 ->

                                                                               아니요: 로그인 실패를 의미합니다

                                        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 및 사례 시뮬레이션 사용자 로그인입니다. 효과 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요. 더 많은 관련 콘텐츠를 확인해보세요!





성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.