php simplexml - извлечение большого числа в cdata

У меня есть следующая часть моего xml:

<book number="AB 123" type="SCI">
  <info>
    <type code="FIC"><![CDATA[Fiction]]></status>
    <publish-time><![CDATA[20090110214000]]></publish-time>
  </info>
</book>

If I do:

echo $key->info->type;

У меня получается красиво и легко "Художественная литература"

НО, если я сделаю:

echo $key->info->publish-time;

Я получаю "0".

Я думал, что это может быть связано с тем, что это число (20090110214000), но я пробовал разные способы извлечь это, но безуспешно. Когда я print_r, я прекрасно вижу 20090110214000, но почему я не могу получить это значение (в виде числа или строки) для отображения или присвоить его переменной?


person Mark    schedule 14.09.2010    source источник
comment
См. также: узел чтения SimpleXML с именем через дефис   -  person hakre    schedule 08.07.2013


Ответы (1)


То, что вы делаете, это $key->info->publish - time, в основном вычитание неопределенного значения минус неизвестная константа (результаты в 0).

Используйте $key->info->{'publish-time'} для получения правильного значения.

person halfdan    schedule 14.09.2010
comment
Свииееееееет! Большое спасибо!! - person Mark; 15.09.2010