Доступ к элементам / атрибутам из XML с использованием SimpleXML / PHP - PullRequest
0 голосов
/ 29 марта 2012

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

$ xml = simplexml_load_file ("myXML.xml");echo $ xml-> погода [0] -> прогнозная информация-> город-> атрибуты () -> данные."";

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

<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 Ответ

1 голос
/ 29 марта 2012

Вы можете попробовать этот код, который я протестировал здесь:

$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">
...