2017-07-26 121 views
0

我试图获得名称为odds1(1.6)的元素行的值。任何想法如何?如何获取名称XML元素的值PHP解析

的XML看起来如下:

<Match id="1"> 
<Name>Charlotte Independence v Richmond Kickers</Name> 
<Date>07/26/2017 19:00:00</Date> 
<Bet type="PS" id="1"> 
<line name="points1">+2.5</line> 
<line name="odds1">1.6</line> 
<line name="points2">+2.5</line> 
<line name="odds2">2.2</line> 

感谢

+0

欢迎来到Stack Overflow!你试过什么了? PHP在哪里? – disinfor

回答

2

如下尝试:

$string = '<Match id="1"> 
<Name>Charlotte Independence v Richmond Kickers</Name> 
<Date>07/26/2017 19:00:00</Date> 
<Bet type="PS" id="1"> 
<line name="points1">+2.5</line> 
<line name="odds1">1.6</line> 
<line name="points2">+2.5</line> 
<line name="odds2">2.2</line> 
</Bet> 
</Match>'; 

$xml = simplexml_load_string($string); 
foreach($xml->Bet->children() as $child) { 
    $val = $child->attributes(); 
    if($val == "odds1") { 
     echo $child; 
    } 
} 

在上面,我已经指派你的XML给一个变量$字符串。 如果它在文件中,您可以使用simplexml_load_file。 然后我通过使用函数属性()来重复Bet的子项并捕获属性。该函数提供了在xml标签中定义的属性和值。

其余的只是检查属性是否为odds1然后捕获它的值。

+0

或者如果你想懒惰:'$ xml-> Bet-> line [1];'。我的意思是,他确实要求具体价值:来自我的P +1 – icecub