Доступ к XML / PHP с точкой в ​​теге - PullRequest
1 голос
/ 12 мая 2010

Быстрый вопрос новичка здесь, как мне получить доступ к totalResults?

XML

<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/">
  <opensearch:totalResults>1</opensearch:totalResults>
  <posts>
    <post>
      <score>10</score>
    </post>
  </posts>
</OpenSearchDescription>

Для доступа к score я бы сделал это:

PHP

$xmlObj = simplexml_load_string($theXMLabove);
echo $xmlObj->posts->post[0]->score;

Но ничего из этого не работает для totalResults:

echo $xmlObj->opensearch:totalResults;
echo $xmlObj->opensearch->totalResults;

Извините, что задал такой глупый вопрос ...

Также приветствуется документация о том, как просматривать XML с помощью PHP:)

Спасибо!

Ответы [ 2 ]

1 голос
/ 12 мая 2010

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

$opensearch = $xmlObj->children('http://a9.com/-/spec/opensearch/1.1/');
echo $opensearch->totalResult;
0 голосов
/ 12 мая 2010

попробуй: $xmlObj->children('opensearch');

Я не уверен, что это сработает, потому что из того, что вы опубликовали, пространство имен opensearch не определено как xmlns. Это может не иметь значения, хотя - я не уверен, потому что, когда мне приходилось иметь дело с ns в simplexml, ns всегда был явно определен.

...