Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[PHP5/DOM/XML] formaat van een DOMNodeList

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik moet bepalen of een DOMNodeList wel of niet gevuld is voor ik met foreach door de list heen ga.

ik heb dit al geprobeert met sizeof/count maar die geven continu waarde 1 terug.

Hoe kan ik bepalen hoeveel resultaten de query op dat XPath terug geeft. of eventueel enkel of hij wat teruggeeft. de hoeveelheid maakt niet zo veel uit. het gaat er puur om of ik wel of niet die div moet maken.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
$menuitems = $xp->query("/menu/menuitem");
    if(sizeof($menuitems) >= 1)
    {
        echo "<div class=\"menu\">\n";
        echo "<ul>\n";
        
        $counter = 1;
        foreach($menuitems as $menuitem)
        {
            if($_GET['a'] == $counter)  $active = true;
            else                        $active = false;
            
            echo "<li ";
            echo $active?"class=\"active\"":"";
            echo ">\n";
            echo "<a href=\"./index.php?a=".$counter."\">\n";
            
            $text = $menuitem->getElementsByTagName('title');
            echo $text->item(0)->nodeValue;
            echo "</a>\n</li>\n";
            
            $counter++;
        }
        echo "</ul>\n";
        echo "</div>\n";
    }

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Volgens de documentatie:
Any expression which do not return nodes will return an empty DOMNodeList.
en:
If you need to know the number of nodes in the collection, use the length property of the DOMNodeList object.

[ Voor 124% gewijzigd door RobIII op 08-10-2007 14:22 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

DOM beschrijft een property length voor de NodeList interface, dus in PHP zal dat wel $menuitems->length of $menuitems->getLength () zijn.
XPath zal echter wel een NodeSet teruggeven, wat een Active- of StaticNodeSet kan zijn. De laatste heeft eveneens de length property. Ik gok er dus op dat het ook in dit geval $menuitems->length of $menuitems->getLength () zal zijn.

Verwijderd

Topicstarter
tnx, ik heb hem ff getest en het is inderdaad ->length.

overigens geeft Xpath wel een DOMNodeList terug.

$result->length() geeft namelijk
code:
1
Fatal error: Call to undefined method DOMNodeList::length() in /var/www/vhosts/raceeend.net/httpdocs/index.php on line 131

Verwijderd

Verwijderd schreef op maandag 08 oktober 2007 @ 14:30:
tnx, ik heb hem ff getest en het is inderdaad ->length.

overigens geeft Xpath wel een DOMNodeList terug.

$result->length() geeft namelijk
code:
1
Fatal error: Call to undefined method DOMNodeList::length() in /var/www/vhosts/raceeend.net/httpdocs/index.php on line 131
length is een variabele, geen functie.

(bron: php.net)

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op maandag 08 oktober 2007 @ 14:44:
length is een variabele, geen functie.

(bron: php.net)
length is een property (een variabele is iets anders) en die bron heb ik hierboven al in de eerste post staan. Daarbij zou length() ook geen functie zijn, maar een method.

[ Voor 15% gewijzigd door RobIII op 08-10-2007 14:47 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Verwijderd

Topicstarter
Ja ik ging idd uit van een method in eerste instantie. maar met length als property doet hij het dus ook goed nu en word me menutje netjes weergegeven aan de hand van het xml documentje.

dat wat ik weergaf met length() was dus wat ik eerder geprobeert had. ik ging uit van een method ;) stom van me dus dat ik niet even verder had gekeken.

overigens was ik al wel even aan het zoeken naar goede documentatie. maar ik kan van de DOMNodeList eigenlijk enkel info vinden over 'item'. weet iemand ok een site met volledige method/property lists van de DOM objecten? dat scheelt me weer een hoop jullie lastig vallen ;)

Verwijderd

Verwijderd schreef op maandag 08 oktober 2007 @ 20:36:
weet iemand ok een site met volledige method/property lists van de DOM objecten? dat scheelt me weer een hoop jullie lastig vallen ;)
Voor de PHP-implementatie van DOM kun je het beste kijken op http://nl3.php.net/manual/en/ref.dom.php.
Pagina: 1