Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在xpath中选择多个条件_Php_Xpath - Fatal编程技术网

Php 在xpath中选择多个条件

Php 在xpath中选择多个条件,php,xpath,Php,Xpath,我正在尝试使用一个来自高尔夫锦标赛的xml提要,以便显示每个高尔夫球手在高尔夫球场上的位置。我现在想展示每一位符合两个标准的高尔夫球手(前25名,以及所有加拿大人) 下面是一个xml提要示例 <GolfDataFeed Type="Leaderboards" Timestamp="3/21/2012 9:18:09 PM"> <Tournament ID="27828" Name="WEGMANS LPGA CHAMPIONSHIP"> <Leaderboard R

我正在尝试使用一个来自高尔夫锦标赛的xml提要,以便显示每个高尔夫球手在高尔夫球场上的位置。我现在想展示每一位符合两个标准的高尔夫球手(前25名,以及所有加拿大人)

下面是一个xml提要示例

<GolfDataFeed Type="Leaderboards" Timestamp="3/21/2012 9:18:09 PM">
<Tournament ID="27828" Name="WEGMANS LPGA CHAMPIONSHIP">
<Leaderboard RoundID="4" CutRound="" CutLine="">
<Player ID="82866" WwgrID="975" FirstName="Inbee" LastName="Park" Country="KOR" IsAmateur="False" Rank="1" RankTied="False" StartRank="1" StartRankTied="False" Thru="0" StartTee="1" StartTime="01:25 PM" RoundToPar="0" CumulativeTotal="206" CumulativeToPar="-10" Money="0" TournamentStatus="ACT" RoundStatus="ACT">
<Player ID="82850" WwgrID="434" FirstName="I.K." LastName="Kim" Country="KOR" IsAmateur="False" Rank="2" RankTied="False" StartRank="2" StartRankTied="False" Thru="0" StartTee="1" StartTime="01:25 PM" RoundToPar="0" CumulativeTotal="210" CumulativeToPar="-6" Money="0" TournamentStatus="ACT" RoundStatus="ACT">
<Player ID="88290" WwgrID="3336" FirstName="Jodi" LastName="Ewart Shadoff" Country="ENG" IsAmateur="False" Rank="3" RankTied="False" StartRank="3" StartRankTied="False" Thru="0" StartTee="1" StartTime="01:14 PM" RoundToPar="0" CumulativeTotal="213" CumulativeToPar="-3" Money="0" TournamentStatus="ACT" RoundStatus="ACT">
<Player ID="98006" WwgrID="2982" FirstName="So Yeon" LastName="Ryu" Country="KOR" IsAmateur="False" Rank="4" RankTied="True" StartRank="4" StartRankTied="True" Thru="0" StartTee="1" StartTime="01:14 PM" RoundToPar="0" CumulativeTotal="215" CumulativeToPar="-1" Money="0" TournamentStatus="ACT" RoundStatus="ACT">
</Leaderboard>
</Tournament>
</GolfDataFeed>

以下是我编写的代码,用于选择所有加拿大或前25名的高尔夫球手

$context = stream_context_create(array('http' => array('header' => 'Accept: application/xml')));
$url = 'http://services.lpgascoring.com/ws/1.2/leaderboard;
$xml = file_get_contents($url, false, $context);
$xml = simplexml_load_string($xml);

foreach($xml->xpath("///Player[@Rank<'25' or @Country='CAN']") as $Player)
$context=stream\u context\u create(数组('http'=>array('header'=>'Accept:application/xml'));
$url='1http://services.lpgascoring.com/ws/1.2/leaderboard;
$xml=file\u get\u contents($url,false,$context);
$xml=simplexml\u load\u字符串($xml);

foreach($xml->xpath(“///Player[@Rank您的xpath中有太多的前斜杠。请改用此xpath:

//Player[@Rank<'25' or @Country='CAN']

//Player[@RankYour xpaht在我看来完全正常。只是在您的示例XML中没有姓Person或Wie的Person。我想声明,声称此问题“已得到回答”的示例与此XML代码完全不同。
//Player[@Rank<'25' or @Country='CAN']