php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 19.12.2011, 17:53  
Erfahrener Benutzer
 
Registriert seit: 28.09.2008
Beiträge: 1.168
PHP-Kenntnisse:
Fortgeschritten
Koala befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Der Thread hier wirkt bissl wie "Ey, ich hab da garkein bock drauf, muss das aber machen und hab grad keinen Wald da wo Bäume sind.", zumindest aus der Sicht was der TE so rauslässt ^^
nein - ich hab so Sachen bisher immer per Regex gelöst.
Nachdem aber immer wieder in den Foren gesagt wird man möge doch SimpleXML nehmen
weil das ja sooo viel leichter sei, hab ich das eben dieses mal per SimpleXML versucht zu lösen.

Natürlich nervt es tierisch wenn Du so was machen willst
und per Doku/Google nicht weiterkommst.

Übrigens, da es Dir ja anscheinend so gefällt, kannst mir vielleicht sagen
ob ich mit foreach über alle Nodes/Objekte die ich erhalte iterieren kann ?

PHP-Code:

            
while(list( , $node) = each($result)) { 

                if(
count($node->preflight) > 0) {
                    
                    foreach(
$node->preflight as $key => $value){

                       
// geht nicht oder ?
                    
}
                }
            } 
__________________
Eine if-else-Abfrage nimmt, ordentlich geschrieben eine Menge Platz weg. Platzsparend geht es mit einem ternären Operator.
Koala ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 19.12.2011, 18:00  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.874
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Ja, egal was du tust, du erhälst immer SimpleXMLElement und das ist traversable, eine Ausnahme ist hier xpath, der liefert Datasets in Form von Arrays zurück. Alternativ kannst du auch über SimpleXMLIterator traversieren indem du SimpleXML explizit sagst das es die SPL-Klasse nutzen soll. Aber das ist ein anderer ( Dokument-globaler ) Anwendungsfall.

PHP-Code:
foreach ( $xpathResult as $item ) { ... }

// -> http://de2.php.net/manual/de/simplexmlelement.children.php
foreach ( $node->preflight->children() as $child ) {

}

// -> http://de2.php.net/manual/de/simplexmlelement.attributes.php
foreach ( $node->preflight->attributes() as $attribute ) {

}

// ... 
aber das hättest du auch selbst erkennen können, auf der hauptseite der SimpleXMLElement-Class steht:
Zitat:
SimpleXMLElement implements Traversable {
/* ... */
}
und da sagt die Doku: http://de2.php.net/manual/de/class.traversable.php

edit: "Geht nicht" radier mal aus deinem Wörterbuch, gibs irgendwas was dagegen spricht solche Dinge einfach auszuprobieren ?
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.

Geändert von tr0y (19.12.2011 um 18:04 Uhr).
tr0y ist offline   Mit Zitat antworten
Alt 19.12.2011, 18:07  
Erfahrener Benutzer
 
Registriert seit: 28.09.2008
Beiträge: 1.168
PHP-Kenntnisse:
Fortgeschritten
Koala befindet sich auf einem aufstrebenden Ast
Standard

nun ja - der Gedankengang Objekte -> foreach -> Klassemdefinition -> traversable bin ich zugegeben nicht gekommen.
Da ich auch gar nicht wußte, daß es traversable gibt und zu was es gut ist.

Ich raff das immer noch nicht.

Ich hab doch gar kein children von preflight.

Bei:
PHP-Code:
foreach($node->preflight as $key => $value){

    
$preflight_text = (string) $node->preflight;

    if(
array_key_exists($preflight_text$CFG_XML_CODES) && $CFG_XML_CODES[$preflight_text] > $status$status $CFG_XML_CODES[$preflight_text];

Was ist da jetzt key und was ist value ???

oder so?
PHP-Code:
foreach($node->preflight as $object){

    
$preflight_text = (string) $object;

    if(
array_key_exists($preflight_text$CFG_XML_CODES) &&  $CFG_XML_CODES[$preflight_text] > $status$status =  $CFG_XML_CODES[$preflight_text];

Zitat:
edit: "Geht nicht" radier mal aus deinem Wörterbuch, gibs irgendwas was dagegen spricht solche Dinge einfach auszuprobieren ?
?? - wo hab ich denn "geht nicht" geschrieben ?? - ich versuch mir immer alles zuerst selbst beizubringen per Doku, Google, Forensuche, Tutorials.
Und so wars auch in diesem Fall. Auch die obigen 2 Codes probier ich gerade aus.
__________________
Eine if-else-Abfrage nimmt, ordentlich geschrieben eine Menge Platz weg. Platzsparend geht es mit einem ternären Operator.

Geändert von Koala (19.12.2011 um 18:29 Uhr).
Koala ist offline   Mit Zitat antworten
Antwort


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] Problem mit XPath - XPath liefert nicht das erwartete Ergebnis Suralc PHP Einsteiger 8 26.04.2011 22:11
[Erledigt] HTML-Reports auswerten mit xpath obelix PHP Einsteiger 11 26.04.2011 15:45
[Erledigt] Mit xpath() mehrere Knoten suchen & ausgeben wooha PHP Einsteiger 5 21.04.2011 00:24
[Erledigt] XPath - parent attribute auslesen Paul.Schramenko PHP Einsteiger 12 04.04.2011 14:37
Xpath Frage Pulmer PHP Einsteiger 7 02.03.2011 17:07
[Erledigt] Korrekter XPath? Dark Guardian PHP Einsteiger 10 15.02.2011 14:27
[Erledigt] Mit PHP auch XPATH? muncher PHP Einsteiger 15 08.01.2011 12:37
[Erledigt] Mit XPath im DOMDocument PHP5 und der foreach Schleife einen Element WERT hjw-kunstwerk PHP Tipps 2010 3 03.06.2010 00:07
[Erledigt] Mit xpath den nodevalue vergleichen dileso PHP Tipps 2010 2 06.05.2010 10:54
XML Kommentar mit XPath auslesen den JavaScript, Ajax und mehr 1 08.12.2008 15:48
Error bei Benützung von xpath Arno PHP-Fortgeschrittene 2 25.04.2008 10:28
Node Selection mit XPath HStev PHP Tipps 2005-2 3 12.08.2005 12:21
[Erledigt] XML mit simplexml und xpath in HTML umwandeln PHP-Fortgeschrittene 3 15.07.2005 01:39
XML und XPath Finkman PHP Tipps 2004 0 16.08.2004 14:33


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:31 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