在PHP上进行简单的XML解析 [英] Simple XML parsing on PHP

查看:81
本文介绍了在PHP上进行简单的XML解析的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含以下信息的xml文件:

Guys i have a xml file who contain this info:

<?xml version="1.0" encoding="utf-8"?>
<ES>
    <clima code="0" value="Tornado" />
    <clima code="1" value="Tormenta tropical" />
    <clima code="2" value="Huracan" />
    <clima code="3" value="Tormentas severas" />
    <clima code="4" value="Tormentas eléctricas" />
    <clima code="5" value="Mixtos de lluvia y nieve" />
    <clima code="6" value="Mixtos de lluvia y aguanieve" />
    <clima code="7" value="Mixto de nieve y aguanieve" />
    <clima code="8" value="Congelación llovizna" />
    <clima code="9" value="Llovizna" />
    <clima code="10" value="Lluvia helada" />
    <clima code="11" value="Chubascos" />
    <clima code="12" value="Chubascos" />
    <clima code="13" value="Nieve" />
    <clima code="14" value="Nieve, Chubascos" />
    <clima code="15" value="Nieve, ventoso" />
    <clima code="16" value="Nieve" />
    <clima code="17" value="Granizo" />
    <clima code="18" value="Aguanieve" />
    <clima code="19" value="Tormenta de tierra" />
    <clima code="20" value="Niebla" />
    <clima code="21" value="Haze" />
    <clima code="22" value="Humo" />
    <clima code="23" value="blustery" />
    <clima code="24" value="Viento" />
    <clima code="25" value="Frío" />
    <clima code="26" value="Nublado" />
    <clima code="27" value="Chubascos por la noche" />
    <clima code="28" value="Día parcialmente nublado" />
    <clima code="29" value="Noche Parcialmente nublado" />
    <clima code="30" value="Día Parcialmente nublado" />
    <clima code="31" value="Noche Despejada" />
    <clima code="32" value="Soleado" />
    <clima code="33" value="Noche despejada" />
    <clima code="34" value="Día despejado" />
    <clima code="35" value="mixtos de lluvia y granizo" />
    <clima code="36" value="Caluroso" />
    <clima code="37" value="Tormentas aisladas" />
    <clima code="38" value="Tormentas aisladas" />
    <clima code="39" value="Tormentas aisladas" />
    <clima code="40" value="Chaparrones" />
    <clima code="41" value="Nieve" />
    <clima code="42" value="Tormenta de nieve dispersos" />
    <clima code="43" value="Nieve" />
    <clima code="44" value="Parcialmente nublado" />
    <clima code="45" value="Tormentas" />
    <clima code="46" value="snow showers" />
    <clima code="47" value="Tormentas aisladas" />
    <clima code="3200" value="Sin datos" />
</ES>

我是php的新手,您能告诉我如何给出给定的 code 返回吗? 请不要上任何花哨的课程:)

Im very new at php, can you show me how given a code return the value? Please without any fancy classes :)

推荐答案

$code = isset($_GET['code']) ? $_GET['code'] : 0;

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

foreach ($xml->clima as $item)
{
  if ($code == (int)$item['code'])
  {
    echo 'Found, code' . $item['code'] . ' value: '. $item['value'] . '<br />'; 
    break;
  }
}

编辑,例如:

<?php
$str='<?xml version="1.0" encoding="utf-8"?>
<ES>
    <clima code="0" value="Tornado" />
    <clima code="1" value="Tormenta tropical" />
    <clima code="2" value="Huracan" />
    <clima code="3" value="Tormentas severas" />
    <clima code="4" value="Tormentas eléctricas" />
    <clima code="5" value="Mixtos de lluvia y nieve" />
    <clima code="6" value="Mixtos de lluvia y aguanieve" />
    <clima code="7" value="Mixto de nieve y aguanieve" />
    <clima code="8" value="Congelación llovizna" />
    <clima code="9" value="Llovizna" />
    <clima code="10" value="Lluvia helada" />
    <clima code="11" value="Chubascos" />
    <clima code="12" value="Chubascos" />
    <clima code="13" value="Nieve" />
    <clima code="14" value="Nieve, Chubascos" />
    <clima code="15" value="Nieve, ventoso" />
    <clima code="16" value="Nieve" />
    <clima code="17" value="Granizo" />
    <clima code="18" value="Aguanieve" />
    <clima code="19" value="Tormenta de tierra" />
    <clima code="20" value="Niebla" />
    <clima code="21" value="Haze" />
    <clima code="22" value="Humo" />
    <clima code="23" value="blustery" />
    <clima code="24" value="Viento" />
    <clima code="25" value="Frío" />
    <clima code="26" value="Nublado" />
    <clima code="27" value="Chubascos por la noche" />
    <clima code="28" value="Día parcialmente nublado" />
    <clima code="29" value="Noche Parcialmente nublado" />
    <clima code="30" value="Día Parcialmente nublado" />
    <clima code="31" value="Noche Despejada" />
    <clima code="32" value="Soleado" />
    <clima code="33" value="Noche despejada" />
    <clima code="34" value="Día despejado" />
    <clima code="35" value="mixtos de lluvia y granizo" />
    <clima code="36" value="Caluroso" />
    <clima code="37" value="Tormentas aisladas" />
    <clima code="38" value="Tormentas aisladas" />
    <clima code="39" value="Tormentas aisladas" />
    <clima code="40" value="Chaparrones" />
    <clima code="41" value="Nieve" />
    <clima code="42" value="Tormenta de nieve dispersos" />
    <clima code="43" value="Nieve" />
    <clima code="44" value="Parcialmente nublado" />
    <clima code="45" value="Tormentas" />
    <clima code="46" value="snow showers" />
    <clima code="47" value="Tormentas aisladas" />
    <clima code="3200" value="Sin datos" />
</ES>
';
$str = utf8_encode($str);

$code = isset($_GET['code']) ? $_GET['code'] : 0;

$xml = simplexml_load_string($str);

foreach ($xml->clima as $item)
{
  if ($code == (int)$item['code'])
  {
    echo 'Found, code' . $item['code'] . ' value: '. $item['value'] . '<br />'; 
    break;
  }
}

这篇关于在PHP上进行简单的XML解析的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆