| |||||||
Du magst keine Werbung? Wir auch nicht!
Einfach registrieren und die Werbung ist weg. Diese Nachricht sehen nur nicht registrierte Nutzer.
![]() |
| | LinkBack | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| liebt Skorpionin Registriert seit: Apr 2003
Beiträge: 1.258
| XML auslesen: Otto wird gesucht ;0)
Ich suche einen einfachen Weg um in einem xml-File wie dem Folgenden alle otto-Knoten mit trace auszugeben. Die Ottos können in beliebiger Tiefe auftauchen. (Das Einlesen des XML-Files nicht nicht relevant). Hat mir jemand einen Tipp? PHP-Code: |
| | |
| | #2 (permalink) |
| Techniker Registriert seit: Sep 2003 Ort: 64807
Beiträge: 16.324
|
die bequemlichkeit kennt mal wieder keine grenzen ;-) da wirst du schon ein programm schreiben müssen, das alle nodes durchgeht und auf 'otto's prüft. Code: _xml = new XML('<pip><otto>JA, HIER IST EIN OTTO!</otto>
<popipup><otto>UND HIER IST NOCH EIN OTTO!</otto>
</popipup><papipupi><pipop><otto>DER LETZTE OTTO!</otto>
</pipop></papipupi></pip>');
//
_array = _xml.toString().split('<otto>').reverse();
for (i in _array) {
var h = _array[i].split('</otto>');
if (h.length>1) trace(h[0]);
}
__________________ die ultimative antwort auf alle programmierfragen: der debugger mfg h.g.seib www.SeibsProgrammLaden.de Geändert von hgseib (28-09-2006 um 21:19 Uhr) |
| | |
| | #3 (permalink) | |
| Gast
Beiträge: n/a
|
Hm, ich würde die Nodevalues in Attribute setzen und dann mit der XPATH-API auslesen, das wird bei sich wiederholenden Attributen wohl am schnellsten gehen. Bspw. im XML-File Zitat:
PHP-Code: | |
|
| | #4 (permalink) |
| liebt Skorpionin Registriert seit: Apr 2003
Beiträge: 1.258
|
hi hgseib, hi agedoubleju, danke für eure Antworten. @hgseib: Interessante, unkonventionelle Angehensweise, so hab ich das noch gar nie betrachtet. Deine Lösung funktioniert. Vielen Dank. @agedoubleju: Dein Vorschlag ist vermutlich der 'offiziellere', und im Grunde würde ich diese Lösung vorziehen. Konnte mein Problem damit jedoch nicht wirklich lösen. Der Haken besteht darin, dass .selectSingleNode() zwar knotenübergreifend nach dem otto sucht (mithilfe von Wildcards (*/*/*/otto), nicht aber in verschiedenen Levels des xml-Files. ![]() Oder hab ich da was missverstanden? Unklar ist mir auch, warum du vorschlägst, die Nodevalues in Attributen zu setzen. Aber natürlich auch dir herzlichen Dank. Kannte die XPATH-API noch nicht, und kann sie vielleicht bei anderen Problemstellungen brauchen. Greetings - Skorpion |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |