xpath表達式常用操作

使用dom4j支持xpath的操作

可以直接獲取到某個元素

第一種形式
/AAA/DDD/BBB: 表示一層一層的,AAA下面 DDD下面的BBB
在這裏插入圖片描述第二種形式
//BBB: 表示和這個名稱相同,表示只要名稱是BBB,都得到
在這裏插入圖片描述
第三種形式
*: 所有元素
在這裏插入圖片描述
第四種形式
** BBB[1]: 表示第一個BBB元素
×× BBB[last()]:表示最後一個BBB元素
在這裏插入圖片描述
第五種形式
** //BBB[@id]: 表示只要BBB元素上面有id屬性,都得到

在這裏插入圖片描述
第六種形式
//BBB[@id=‘b1’] 表示元素名稱是BBB,在BBB上面有id屬性,並且id的屬性值是b1
在這裏插入圖片描述

使用dom4j支持xpath具體操作

** 默認的情況下,dom4j不支持xpath
** 如果想要在dom4j裏面是有xpath
	* 第一步需要,引入支持xpath的jar包,使用 jaxen-1.1-beta-6.jar
	** 需要把jar包導入到項目中

** 在dom4j裏面提供了兩個方法,用來支持xpath
	*** selectNodes("xpath表達式")
		- 獲取多個節點
	*** selectSingleNode("xpath表達式")
		- 獲取一個節點

使用xpath實現:查詢xml中所有name元素的值

	** 所有name元素的xpath表示: //name
	** 使用selectNodes("//name");
	** 代碼和步驟
	/*
	 * 1、得到document
	 * 2、直接使用selectNodes("//name")方法得到所有的name元素
	 * 
	 * */
		//得到document
		Document document = Dom4jUtils.getDocument(Dom4jUtils.PATH);
		//使用selectNodes("//name")方法得到所有的name元素
		List<Node> list = document.selectNodes("//name");
		//遍歷list集合
		for (Node node : list) {
			//node是每一個name元素
			//得到name元素裏面的值
			String s = node.getText();
			System.out.println(s);
		}

使用xpath實現:獲取第一個p1下面的name的值

	* //p1[@id1='aaaa']/name
	* 使用到 selectSingleNode("//p1[@id1='aaaa']/name")
	* 步驟和代碼
	/*
	 * 1、得到document
	 * 2、直接使用selectSingleNode方法實現
	 * 	- xpath : //p1[@id1='aaaa']/name
	 * */
	//得到document
	Document document = Dom4jUtils.getDocument(Dom4jUtils.PATH);
	//直接使用selectSingleNode方法實現
	Node name1 = document.selectSingleNode("//p1[@id1='aaaa']/name"); //name的元素
	//得到name裏面的值
	String s1 = name1.getText();
	System.out.println(s1);
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章