加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – simpleXML基于属性获取节点子节点

发布时间:2020-12-13 22:22:40 所属栏目:PHP教程 来源:网络整理
导读:参见英文答案 SimpleXML: Selecting Elements Which Have A Certain Attribute Value????????????????????????????????????2个 ???????????? Implementing condition in XPath ????????????????????????????????????2个 我试图通过其中一个属性解析我引用的
参见英文答案 > SimpleXML: Selecting Elements Which Have A Certain Attribute Value????????????????????????????????????2个
>???????????? Implementing condition in XPath ????????????????????????????????????2个
我试图通过其中一个属性解析我引用的节点的值.但我不确定语法

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>

这里是我想要获取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

如果有人有任何资源涵盖这些东西请分享.

解决方法

只需循环播放海报元素并记住将属性值强制转换为字符串,因为您希望将它们(并可能将它们输出)作为字符串进行比较:

$xml = simplexml_load_file('PosterData.xml');

foreach ($xml->poster as $poster) {
    if ((string) $poster['id'] == 'minwage') {
        echo (string) $poster->full_image['url'];
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读