Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ XML _ [XML] Komentarze <!-- -->

Napisany przez: flashion 9.02.2008, 13:58:17

Witam,

Mam problem z komentarzami - <!--...-->
PHP czyta je jako osobny węzęł. Błąd wywala podczas pętli pobierającej atrybuty ze wszystkich węzłów:

Kod
[b]Fatal error[/b]:  Call to undefined method DOMComment::getAttribute() in [b]...[/b]


Jak zrobić, by omijał przy parsowaniu tego typu komentarze?
Z góry dziękuję

Napisany przez: splatch 9.02.2008, 14:24:44

Możesz skorzystać z instanceof.

  1. <?php
  2. if (!($node instanceof DOMComment)) {
  3. $node->getAttribute('blabla');
  4. }
  5. ?>


Drugi sposób to getNodeType.
  1. <?php
  2. if ($node->getNodeType() != XML_COMMENT_NODE) {
  3. $node->getAttribute('blabla');
  4. }
  5. ?>


Wszystkie dostępne typy węzłów znajdziesz w http://pl2.php.net/dom.

Napisany przez: flashion 9.02.2008, 15:16:37

instanceof nie dyga, ale za to trochę przerobiony 2 sposób...

Kod
<?php
if ($node->nodeType != XML_COMMENT_NODE) {
    $node->getAttribute('blabla');
}
?>

działa wyśmienicie! winksmiley.jpg

dziękuję bardzo. reput.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)