Я разбираю XML из источника данных, который мы используем в нашем веб-приложении, и у меня возникают проблемы с доступом к данным из определенной части XML.Как получить доступ к этому числовому элементу в объекте SimpleXML?
Во-первых, вот вывод print_r
на то, к чему я пытаюсь получить доступ.
SimpleXMLElement Object
(
[0] =>
This is the value I'm trying to get
)
Тогда вот XML, который я пытаюсь получить.
<entry>
<activity:object>
<activity:object-type>http://activitystrea.ms/schema/1.0/note</activity:object-type>
<id>542</id>
<title>
Title string is a string
</title>
<content>
This is the value I'm trying to get
</content>
<link rel="alternate" type="html" href="#"/>
<link rel="via" type="text/html" href="#"/>
</activity:object>
</entry>
Элемент контента - это то, что мне нужно.
Когда я обращаюсь к нему с $post->xpath('activity:object')[0]->content
, я заканчиваю тем, что выше.
Я попытался использовать $zero = 0;
, а также ->content->{'0'}
для доступа к этому элементу, но каждый раз, когда я просто возвращаю пустой объект SimpleXML, как показано ниже.
SimpleXMLElement Object
(
)
Есть ли еще один способ получить доступ к этому, которого я еще не нашел?
Спасибо!
К сожалению, это не сработает. Я просто возвращаю туда пустой объект. Я опубликовал на самом деле просто фрагмент моего более крупного XML-файла (слишком большой для публикации здесь), но есть только один элемент, содержащий элемент «activity: object», поэтому мне нужно получить доступ к этому до «content». Есть ли другой способ доступа к элементам XML с пространствами имен, о которых я не знаю? –
Какое ваше пространство имен перед активностью: объект? – Demodave
Я только что изменил XML в главном сообщении, чтобы отобразить более точное представление о полной строке. Он просто завернут в ''. Вот почему я пытаюсь сначала получить доступ к '' через xpath. –