2012-03-29 2 views
0

Быстрый вопрос: я использую объект SimpleXML PHP для анализа XML-файла. Для жизни я не могу понять, как получить доступ к определенным элементам. Мой вопрос заключается в том, как бы мой PHP выглядел как доступ к узлам и информации, содержащейся в атрибутах «данные»? Я не хочу перебирать весь документ, я хочу получить конкретную информацию только от узлов. Я попробовал следующее без везения:Доступ к элементам/атрибутам из XML с использованием SimpleXML/PHP

$ xml = simplexml_load_file ("myXML.xml"); echo $ xml-> weather [0] -> forecast_information-> city-> attributes() -> данные. "
";

Заранее спасибо.

<xml_api_reply version="1"> 

<weather module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0"> 

<forecast_information> 
    <city data="Carlsbad, CA"/> 
    <postal_code data="92009"/> 
    <latitude_e6 data=""/> 
    <longitude_e6 data=""/> 
    <forecast_date data="2012-03-29"/> 
    <current_date_time data="2012-03-29 11:52:00 +0000"/> 
    <unit_system data="US"/> 
</forecast_information> 

<current_conditions> 
    <condition data="Partly Cloudy"/> 
    <temp_f data="62"/> 
    <temp_c data="17"/> 
    <humidity data="Humidity: 65%"/> 
    <icon data="/ig/images/weather/partly_cloudy.gif"/> 
    <wind_condition data="Wind: SW at 4 mph"/> 
</current_conditions> 


</weather> 

</xml_api_reply> 

ответ

1

Вы можете попробовать этот код у меня есть тест его здесь:

$xml = new SimpleXMLElement(file_get_contents('xmltest.xml')); 

var_dump($xml->weather->forecast_information->city); 
echo ($xml->weather->forecast_information->city['data']); 

атрибуты элементов, таких как «данные» могут быть доступны в виде массива.

Примечание: Когда вы делаете новый объект, который Вы в первой ноты в вашем случае

<xml_api_reply version="1"> 
+0

Stony, работал как шарм. Спасибо за вашу помощь, это оценено! Имейте отличные выходные ... –

+0

@Mark Johns II: Нет проблем. Я знаю его очень anyoing, когда вы не знаете, как получить доступ к значениям. Возможно, вы можете принять его как правильный ответ, если его решить сейчас. – Stony

Смежные вопросы