PHP XML: как отобразить XML с помощью PHP - PullRequest
0 голосов
/ 03 ноября 2009

Как мне найти то, что находится внутри этих тегов XML в php?

Я могу заставить его работать, когда у них нет тега ':' внутри тегов. Но для этого он не работает:

$description = $item->getElementsByTagName('desc');
$description = $description->item(0)->firstChild->nodeValue;


<sql:time>21:00</sql:time>
<sql:event> Empty </sql:event>
<sql:desc>This field is empty</sql:desc>

спасибо

Ответы [ 2 ]

2 голосов
/ 03 ноября 2009

В качестве альтернативы вы можете использовать xpath ...

$xp = new DOMXpath($dom);

$xpath->registerNamespace('sql', "http://URI");

$xpath_str = '//sql:desc/text()';

$titles = $xpath->evaluate($xpath_str);

print $titles->item(0)->nodeValue ."\n";

(при условии, что я не допустил ошибок, которые могли бы быть у меня)

http://www.php.net/manual/en/domxpath.registernamespace.php

2 голосов
/ 03 ноября 2009

Используйте эквивалентное пространство имен функции, которую вы используете в настоящее время:

Двоеточие в имени элемента обозначает пространство имен, в котором оно находится. Таким образом, вы получите информацию из sql: time по телефону:

$description = $item->getElementsByTagNameNS( 'sql', 'time' );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...