2012-02-23 2 views
0

Хорошо, поэтому я застрял с этим xml в PHP-материале. Я довольно далеко рассмотрел свои первые 3 часа в XML все вместе за всю мою жизнь.Как получить данные из атрибута @ xml в PHP

У меня возникли проблемы с извлечением данных из XML-вещи, которая имеет @ в имени. Ниже (очевидно, им не буду размещать весь XML вещь, но вы можете видеть, как я получил там ниже

SimpleXMLElement Object 
(
[@attributes] => Array 
    (
     [date] => 2010-09 
     [reserved] => 6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30 
    ) 

) 

Как я туда попал:.

echo $this->General_functions->naked($xml->property[0]->availability->month[0]); 

General_functions-> голый просто быстрая функция для обертывания и print_r вокруг данного атрибута.

Мой вопрос: КАК Я получаю значения внутри @attributes, независимо от того, что я пытаюсь понять, я не могу понять, что я искал в Интернете хорошие 45 минут с нет реального ответа.

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

ответ

4

Для того, чтобы сделать результаты другим классам, необходимо использовать метод attributes(). Так, например, чтобы получить date атрибут:

$myElement->attributes()->date 

Также обратите внимание, что это не является строкой, это атрибут SimpleXML. Если вы хотите, чтобы получить его фактическое значение, вы должны привести его к string явно:

(string)$myElement->attributes()->date 
+0

Вы рок чувак. Спасибо человек –

1

атрибуты доступа элемента так же, как вы бы элементы массива:

(string) $xml->property[0]->availability->month[0]['date']

Ред добавьте бросок.

+0

Да, это тоже работает. Мне все равно нужно добавить (строку) к ней, хотя. Я думал, что он вернул пустую страницу, но это была опечатка. –

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