我試圖解析一個實時博彩XML源,並需要從代碼中獲取每個賭注。用簡單的英語,我需要使用標記'EventSelections'來查看我的基本查詢,並通過XML上的這些標記'循環',這樣我就可以獲取所有數據,併爲每個可以在CMS上使用的數據創建和實體化。XPATH - 無法選擇祖父節點
我的問題是我想在樹的兩個地方去祖父母節點收集信息。每個EventID指的是遊戲的唯一名稱,有些遊戲比其他遊戲有更多的投注。重要的是我抓住每個賭注和與它相關的EventID,問題是,這個ID是祖父母每次。例如:
<Sportsbet Time="2013-08-03T08:38:01.6859354+09:30">
<Competition CompetitionID="18" CompetitionName="Baseball">
<Round RoundID="2549" RoundName="Major League Baseball">
<Event EventID="849849" EventName="Los Angeles Dodgers (H Ryu) At Chicago Cubs (T Wood)" Venue="" EventDate="2013-08-03T05:35:00" Group="MTCH">
<Market Type="Match Betting - BIR" EachWayPlaces="0">
<EventSelections BetSelectionID="75989549" EventSelectionName="Los Angeles Dodgers">
<Bet Odds="1.00" Line=""/>
</EventSelections>
<EventSelections BetSelectionID="75989551" EventSelectionName="Chicago Cubs">
<Bet Odds="17.00" Line=""/>
</EventSelections>
有誰知道我怎麼能抓住granparent標籤以及?
目前我使用:
//EventSelections (this is the context)
.//@BetSelectionID
.//@EventSelectionName
我已經試過幾十種不同的方法來做到這一點,包括../ ..運營商將不能工作。我會永遠感激這方面的任何幫助。謝謝。
你能舉一個例子說明你如何精確使用'..'運算符? –
我想你只是沒有走得遠遠不夠樹:'../*'給你你的兄弟姐妹,'../../*'給你你的阿姨和叔叔,../../。 ./*'給你你的祖父母。這是因爲'..'向上走了一級,但'/'向下走了一級...所以你必須在你再次下去之前比你射擊的高一級。 –
這最後工作:..//..//..//@RoundID我使用Drupal 7和XPATH的飼料模塊,並已在這個問題上工作了大約15個小時。我真的很感激你把我推向了正確的方向,我很高興我現在已經解決了!謝謝大家。隨時給我發電子郵件給那些堅持使用Drupal和XPATH的人。 –