我试图通过其中一个属性解析我引用的节点的值.但我不确定语法
XML:
<data>
<poster name="E-Verify" id="everify">
<full_image url="e-verify-swa-poster.jpg"/>
<full_other url=""/>
</poster>
<poster name="Minimum Wage" id="minwage">
<full_image url="minwage.jpg"/>
<full_other url="spa_minwage.jpg"/>
</poster>
</data>
Run Code Online (Sandbox Code Playgroud)
这里是我想要获取full_image的url值,其中poster id等于minwage:
$xml = simplexml_load_file('PosterData.xml');
$main_url = $xml->full_image[name] where poster[id] = "minwage";
//something like that.
echo $main_url;
Result: minwage.jpg
Run Code Online (Sandbox Code Playgroud)
如果有人有任何资源涵盖这些东西请分享.
小智 25
您应该能够使用SimpleXMLElement :: xpath()在简单的XML文档上运行xpath查询.
$xml = simplexml_load_file('PosterData.xml');
$main_url = $xml->xpath('name[@id="minwage"]/full_image')[0];
echo $main_url;
Run Code Online (Sandbox Code Playgroud)
只需循环播放海报元素并记住将属性值强制转换为字符串,因为您希望将它们(并可能将它们输出)作为字符串进行比较:
$xml = simplexml_load_file('PosterData.xml');
foreach ($xml->poster as $poster) {
if ((string) $poster['id'] == 'minwage') {
echo (string) $poster->full_image['url'];
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16380 次 |
| 最近记录: |