php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.01.2005, 17:58  
Gast
 
Beiträge: n/a
Standard xpath Problem

Hi,

bei auslesen aus einer xml datei bekommen ich den ersten wert nich! also ich hab folgende xml datei:
[/code]
<?xml version="1.0" encoding="ISO-8859-1"?>
<benutzer>
<admin>
<main href="./tasks/tasks.php">Tasks</main>
<sub>Projekt</sub>
<sub>Seminare</sub>
<sub>Veranstaltungen</sub>
<main href="./adressen/adressen.php">Adressen</main>
<sub>Schulen</sub>
<sub>Lehrer</sub>
<sub>Organisationen</sub>
<sub>freie Mitarbeiter</sub>
<main href="./kalender/kalender.php">Kalender</main>
<sub>Tasks</sub>
<sub>Räume</sub>
<main href="./berichte/berichte.php">Berichte</main>
<main href="./verwaltung/verwaltung.php">Verwaltung</main>
<sub>Benutzer</sub>
</admin>
<betreuer>
<main href="./tasks/tasks.php">Tasks</main>
<sub>Projekt</sub>
<sub>Seminare</sub>
<sub>Veranstaltungen</sub>
<main href="./adressen/adressen.php">Adressen</main>
<sub>Schulen</sub>
<sub>Lehrer</sub>
<sub>Organisationen</sub>
<sub>freie Mitarbeiter</sub>
<main href="./kalender/kalender.php">Kalender</main>
<sub>Tasks</sub>
<sub>Räume</sub>
<main href="./berichte/berichte.php">Berichte</main>
</betreuer>
<lehrer>
<main href="./tasks/tasks.php">Tasks</main>
<sub>Projekt</sub>
<sub>Seminare</sub>
<sub>Veranstaltungen</sub>
<main href="./kalender/kalender.php">Kalender</main>
<sub>Tasks</sub>
<sub>Räume</sub>
</lehrer>
</benutzer>
[/code]

und lese sie wie folgt aus:

PHP-Code:
$xml = new DomDocument();
$xml->load('../lib/info/menu.xml')
    
$xp = new domxpath ($xml);
$pfad "/benutzer/".$usrRight."/main";
echo 
$pfad."  ";
$mnuinfo $xp->query($pfad);        

foreach(
$mnuinfo as $key => $node) {
    
$this->mnuArr[$key]=$node->textContent;
    
$this->attArr[$key]=$node->getAttribute('href');                

soweit so gut, nur wenn ich mir das array anschaue beginnt die ganze Sache nur mit den eintrag Adressen anstelle mit Tasks.

infos am Rande $usrRight ist auf admin gesetzt und das ganze $this zeug ist, weil es sich um eine Funktion in einer kalsse handelt.

lg
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 15.01.2005, 11:21  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.235
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Überlege einmal warum. Der Eintrag "Adressen" passt, der andere nicht. Wenn du den Betreuer haben willst, müsstest du logischerweise $usrRight auf "Betreuer" setzen oder deinen XPath anders formulieren.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline  
Alt 15.01.2005, 14:00  
Gast
 
Beiträge: n/a
Standard

Hi,

mepeisen:
Überlege einmal warum. Der Eintrag "Adressen" passt, der andere nicht.

genau das ist der Punkt - ich sehe es nicht warum der Eintrag Tasks nicht passt.

mepeisen:
Wenn du den Betreuer haben willst, müsstest du logischerweise $usrRight auf "Betreuer" setzen

das ist auch der Grund warum ich es so geschrieben habe. das Menü soll daynamisch generiert werden in abhänigheit des User-Typen. also unterschiedlich für Admin, Betreuer und Lehrer.

lg
 
Alt 15.01.2005, 15:35  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.235
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Mittels XPath gibst du den Suchpfad in deinem XML an. Dein Suchpfad ist aktuell:
"benutzer/admin/main", wenn ich dich richtig verstehe. Also findet er alles unter "admin" und nicht das unter "betreuer". Dazu müsste der Suchpfad "benutzer/betreuer/main" heissen, oder?
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline  
Alt 15.01.2005, 16:05  
Gast
 
Beiträge: n/a
Standard

ja das ist Richig, da es drei Benutzerarten gibt. in der Var $usrRight ist der Typ gescheichert und abhängig von dem Typ der der Suchpfad im XPaht erzeugt.
 
Alt 15.01.2005, 16:21  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.235
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard Re: xpath Problem

Zitat:
Zitat von comus
soweit so gut, nur wenn ich mir das array anschaue beginnt die ganze Sache nur mit den eintrag Adressen anstelle mit Tasks.

infos am Rande $usrRight ist auf admin gesetzt und das ganze $this zeug ist, weil es sich um eine Funktion in einer kalsse handelt.

lg
Ich sehe dein Problem nicht. Wenn du in $usrRight 'admin' stehen hast, wieso erwartest du dann, dass er irgendwas mit Tasks findet, was vollkommen woander ist?
mepeisen ist offline  
Alt 15.01.2005, 16:24  
Gast
 
Beiträge: n/a
Standard

er fängt erst beim zweiten <main> an als
<main href=...>Tasks</main> bekomme ich nicht heraus sonder der erste node in der Liste ist <main href=...>Adressen</main>

lg
 
Alt 15.01.2005, 17:40  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.235
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Sorry, da habe ich mich die ganze Zeit verguckt..... Sehe auf den ersten Blick da eigentlich keinen Fehler. Ich denke mich nachher noch einmal rein, vielleicht sehe ich dann was.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline  
Alt 15.01.2005, 18:48  
Gast
 
Beiträge: n/a
Standard

Hi,

Problem gelöst!!! war ein php-bug denke ich. da ich keinen Fehler im Script gefunden habe, hab ich mal mein xampp upgedatet. siehe da es funktioniert alles einwandfrei.

danke für deine Unterstützung

lg
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
Sessions Problem StephenKing PHP Tipps 2008 3 16.10.2007 08:30
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
[Erledigt] Problem bei Massenmails versenden mit der Funktion mail PHP-Fortgeschrittene 3 19.01.2005 13:36
[Erledigt] Problem mit Übergabe einer Klasse in PHP4 PHP-Fortgeschrittene 10 08.01.2005 21:00
Problem mit Weiterleitung PHP Tipps 2004-2 16 22.12.2004 17:49
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
[Erledigt] PHP Upload (Master Value/Local Value Problem) PHP-Fortgeschrittene 5 23.11.2004 07:21
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
[Erledigt] Problem mit Timestamp! PHP Tipps 2004 24 08.06.2004 19:51
Login Problem PHP Tipps 2004 4 04.06.2004 18:46
foreach problem mAy^daY PHP Tipps 2004 3 02.06.2004 20:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
xpath problem,

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:00 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.