ホームページ >バックエンド開発 >XML/RSS チュートリアル >xpath テクノロジーは XML を解析し、ユーザーのログイン効果をシミュレートします。

xpath テクノロジーは XML を解析し、ユーザーのログイン効果をシミュレートします。

黄舟
黄舟オリジナル
2017-02-16 15:26:291679ブラウズ

問題: dom4j を使用して、より深い階層構造内のノード (ラベル、属性、テキスト) をクエリする場合、さらに面倒です。 ! !

xpath はこの状況で作成されました - 主に必要な [ノード オブジェクト] を迅速に取得するために使用されます。


dom4jでxPathテクノロジーを使用する方法


1) xPathのインポートはjarパッケージをサポートしています。 jaxen-1.1-beta-6.jar

List ノード オブジェクト

xPath 構文


// 相対パスは、階層に関係なく選択要素を表します。 anuter;該当するユーザーがいるか確認 ->

なし: ログインが失敗したことを意味します。 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("登录失败");
		}
	}

}

上記は、XML とケースのシミュレーションを解析する xpath テクノロジーの内容です。ユーザーログイン効果その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。






声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。