XPath用法

通配符                 描述
*                匹配任何節(jié)點(diǎn)。
@*                    匹配任何屬性
node()                    匹配任何類型的節(jié)點(diǎn)

XPath表達(dá)式實(shí)例:
獲取根節(jié)點(diǎn)下所有這個(gè)名字的節(jié)點(diǎn)—//節(jié)點(diǎn)名
比如要獲取Config里面所有名字叫Cars的節(jié)點(diǎn),表達(dá)式就可以填@”//Cars” 栗子如下

NSArray *datas = [rootElement nodesForXPath:@"http://Cars" error:nil]; 

獲取節(jié)點(diǎn)下的子節(jié)點(diǎn)—節(jié)點(diǎn)/子節(jié)點(diǎn)
舉個(gè)栗子:獲取Cars的節(jié)點(diǎn)里面的Car子節(jié)點(diǎn)

表達(dá)式-------- @"http://Cars/Car"

獲取節(jié)點(diǎn)里的屬性—節(jié)點(diǎn)/@屬性
舉個(gè)栗子:獲取Cars的id屬性

表達(dá)式-------- @"http://Cars/@id"

如果不知道屬性名或者節(jié)點(diǎn)名還可以直接用*代替屬性名,獲取節(jié)點(diǎn)所有的屬性或者子節(jié)點(diǎn)

表達(dá)式-------- @"http://Cars/@*"獲取Cars的所有屬性
表達(dá)式-------- @"http://Cars/*"獲取Cars的所有所有子節(jié)點(diǎn)

多個(gè)節(jié)點(diǎn)路徑的情況可以用’|’來(lái)分開,比如我只想要Cars里面的id和type屬性毁枯,可以這么寫

表達(dá)式-------- @"http://Cars/@id | Cars/@type"

接下來(lái)就到高級(jí)一點(diǎn)的用法—-謂詞
謂詞可以嵌套在方括號(hào)里對(duì)查詢結(jié)果根據(jù)你設(shè)定的條件進(jìn)一步篩選
一個(gè)個(gè)介紹太麻煩了,直接上表達(dá)式實(shí)例吧

@"http://Config/Cars[last()]" 獲取Config里的最后一個(gè)節(jié)點(diǎn)
@"http://Cars/Car[1]" 獲取Cars里面的第一個(gè)Car節(jié)點(diǎn)
@"http://Cars/Car[last()-1]" 獲取Cars里面的倒數(shù)第二個(gè)Car節(jié)點(diǎn)
@"http://Cars/Car[position()<3]" 獲取Cars里面的前2個(gè)Car節(jié)點(diǎn)
@"http://Cars/Car[@id]" 獲取Cars里面的有屬性id的Car
@"http://Cars/Car[@id = 941]"  獲取Cars里面屬性id為941的Car節(jié)點(diǎn)
@"http://Cars[@type = 'cargroup']" 獲取Config里面屬性type為cargroup的節(jié)點(diǎn)
@"http://Cars/Car[txt = '水冷系統(tǒng)']" 獲取Cars里面txt為水冷系統(tǒng)的Car節(jié)點(diǎn)
@"http://Cars/Car[@id > 30]" 獲取Cars里面屬性id大于30的Car節(jié)點(diǎn)
@"http://Cars/Car[@id > 30]/txt" 獲取Cars里面屬性大于30的Car節(jié)點(diǎn)里的txt子節(jié)點(diǎn)
@"http://Cars/Car[@id = 941]/ecu/@*" 獲取Cars里面id=941的Car節(jié)點(diǎn)里面的ecu子節(jié)點(diǎn)的所有屬性

這就是我所知道的XPath的全部用法了,還有什么特別姿勢(shì)請(qǐng)小伙伴們幫我解鎖吧

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末兢交,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子笼痹,更是在濱河造成了極大的恐慌配喳,老刑警劉巖酪穿,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異晴裹,居然都是意外死亡被济,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門涧团,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)只磷,“玉大人,你說(shuō)我怎么就攤上這事泌绣∨プ罚” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵阿迈,是天一觀的道長(zhǎng)元媚。 經(jīng)常有香客問(wèn)我,道長(zhǎng)苗沧,這世上最難降的妖魔是什么刊棕? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮待逞,結(jié)果婚禮上甥角,老公的妹妹穿的比我還像新娘。我一直安慰自己识樱,他們只是感情好蜈膨,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著牺荠,像睡著了一般翁巍。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上休雌,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天灶壶,我揣著相機(jī)與錄音,去河邊找鬼杈曲。 笑死驰凛,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的担扑。 我是一名探鬼主播恰响,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼涌献!你這毒婦竟也來(lái)了胚宦?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎枢劝,沒(méi)想到半個(gè)月后井联,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡您旁,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年烙常,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鹤盒。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蚕脏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出侦锯,到底是詐尸還是另有隱情蝗锥,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布率触,位于F島的核電站终议,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏葱蝗。R本人自食惡果不足惜穴张,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望两曼。 院中可真熱鬧皂甘,春花似錦、人聲如沸悼凑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)户辫。三九已至渐夸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間渔欢,已是汗流浹背墓塌。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留奥额,地道東北人苫幢。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像垫挨,于是被迫代替她去往敵國(guó)和親韩肝。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容