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 13.11.2011, 18:08  
Benutzer
 
Registriert seit: 30.06.2009
Beiträge: 80
PHP-Kenntnisse:
Fortgeschritten
Gargor kann nur auf Besserung hoffen
Standard XML: Knoten der 2. Ebene auslesen

Hallo, ich habe eine XML Datei, bei der die Knotennamen in der 2. Ebene immer anders heißen.
Gibt es eine Möglichkeit, diese zu ermitteln?

Beispiel:
<main>
.........<knotenname1>INHALT</knotenname1>
.........<knotenname2>INHALT</knotenname2>
.........<knotenname3>INHALT</knotenname3>
.........<knotenname4>INHALT</knotenname4>
</main>
Gargor ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 13.11.2011, 18:10  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Schau Dir die Möglichkeiten des DOM Traversing an.

Einstieg: http://de.selfhtml.org/javascript/objekte/node.htm
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 13.11.2011, 18:12  
Neuer Benutzer
 
Registriert seit: 13.11.2011
Beiträge: 7
PHP-Kenntnisse:
Fortgeschritten
FlexiwebCologne befindet sich auf einem aufstrebenden Ast
Standard

Hi,

Du kannst folgende Function verwenden:
http://www.bin-co.com/php/scripts/xml2array/

Du bekommst dann ein Array zurückgeliefert.
Und somit kannst du per foreach()-Schleife diese Einträge abfragen

PHP-Code:
foreach($xmlArray AS $id => $value
__________________
Webhosting zu sagenhaften Preisen!
http://www.flexiwebcologne.de
FlexiwebCologne ist offline   Mit Zitat antworten
Alt 14.11.2011, 15:51  
Erfahrener Benutzer
 
Benutzerbild von jspit
 
Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse:
Anfänger
jspit wird schon bald berühmt werden
Standard

Es werden keine externen Funktionen benötigt, SimpleXML reicht.
jspit ist offline   Mit Zitat antworten
Alt 14.11.2011, 15:59  
Neuer Benutzer
 
Registriert seit: 13.11.2011
Beiträge: 7
PHP-Kenntnisse:
Fortgeschritten
FlexiwebCologne befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von jspit Beitrag anzeigen
Es werden keine externen Funktionen benötigt, SimpleXML reicht.
Stimmt. Jedoch ist die genannte Funktion, für meine Anforderungen, genau das Richtige. Da ich persönlich diese Funktion auch noch Klasse finde, habe ich Sie mal genannt.
__________________
Webhosting zu sagenhaften Preisen!
http://www.flexiwebcologne.de
FlexiwebCologne ist offline   Mit Zitat antworten
Alt 14.11.2011, 16:07  
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

daten traversieren und gegenchecken ist nicht nötig:

test.xml
Code:
<?xml version="1.0" encoding="utf-8" ?>
<a>
   <b>element 1</b>
   <c>element 2</c>
   <d>element 3</d>
   <e>element 4</e>
</a>
test.php
PHP-Code:
$xmlObj simplexml_load_file('test.xml');

$result $xmlObj->xpath('//*[position()=2]');

// zu string casten, da das Array SimpleXMLElement Objekte enthält
$data = (string)$result[0]; 

var_dump($data); 
result:
Code:
string(9) "element 2"
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.

Geändert von tr0y (14.11.2011 um 16:16 Uhr).
tr0y ist gerade online   Mit Zitat antworten
Alt 14.11.2011, 16:18  
Erfahrener Benutzer
 
Benutzerbild von jspit
 
Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse:
Anfänger
jspit wird schon bald berühmt werden
Standard

..und noch ein Beispiel mit foreach:

PHP-Code:
$xml_str = <<< XML
<main>
  <knotenname1>INHALT1</knotenname1>
  <knotenname2>INHALT2</knotenname2>
  <knotenname3>INHALT3</knotenname3>
  <knotenname4>INHALT4</knotenname4>
</main>
XML;
$xml simplexml_load_string($xml_str);
foreach(
$xml as $k => $wert ) echo $k." : ".$wert."<br>";
/* Ausgabe
knotenname1 : INHALT1
knotenname2 : INHALT2
knotenname3 : INHALT3
knotenname4 : INHALT4
*/ 
Edit: Richtig, hier Fehler zu unterdrücken ist auch noch überflüssig.

Geändert von jspit (14.11.2011 um 17:11 Uhr). Grund: Code geändert
jspit ist offline   Mit Zitat antworten
Alt 14.11.2011, 16:47  
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

Don't suppress errors, handle them.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist gerade online   Mit Zitat antworten
Alt 09.12.2011, 11:09  
Benutzer
 
Registriert seit: 30.06.2009
Beiträge: 80
PHP-Kenntnisse:
Fortgeschritten
Gargor kann nur auf Besserung hoffen
Standard

Danke, hat funktioniert. Jetzt habe ich ein neues Problem:
Bei einer neuen XML haben die Knoten alle den gleichen Namen (<inhalt>)
Hier funktioniert das, was ihr mir gesagt habt, nicht mehr.
Wie lese ich nun aus?
Gargor ist offline   Mit Zitat antworten
Alt 09.12.2011, 17:16  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Doch, tut es.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch 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
Cookie setzen und auslesen Rutor PHP Einsteiger 8 28.01.2011 08:55
XML Datei auslesen umsid1 PHP Einsteiger 5 13.12.2010 16:30
XML Knoten Attribute auslesen ePole PHP Einsteiger 7 27.11.2010 23:14
mit PDO Feldnamen, alle Feldeigenschaften auslesen litterauspirna PHP Tipps 2010 3 16.11.2010 17:20
DOM: Knoten ohne „echte“ Kinder bestimmen nikosch PHP-Fortgeschrittene 9 10.03.2010 18:27
[Erledigt] preparedStatement auslesen funktioniert nicht ?! Raidri PHP Tipps 2009 11 02.11.2009 09:21
Eine Workflow-Engine mepeisen Software-Design 6 27.10.2009 07:07
[Erledigt] Anzahl der Zeilen auslesen ( MySQL ) errox Datenbanken 13 18.02.2009 16:07
Ordner auslesen und während des auslesen sortieren Dooki PHP Tipps 2008 6 14.05.2008 17:50
[Erledigt] gelöst: Tabelle auslesen -&amp;amp;amp;amp;gt; Gleiche Einträge nur 1 Mal Datenbanken 3 31.03.2006 01:44
Textdatei auslesen, aber ohne Komentare HSFighter PHP Tipps 2006 31 23.02.2006 10:07
Daten eintragen und auslesen Rettungsdackel Datenbanken 0 14.09.2005 16:29
auslesen und nochmals auslesen?! $$$ ThiKool $$$ PHP Tipps 2005 23 10.03.2005 19:43
[Erledigt] bei eigenem CMS Menülinks automatisch auslesen (php + mysql) 18inch PHP-Fortgeschrittene 3 05.01.2005 17:52

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php simplexml unterknoten, xml element ebenen, xml in 2. ebene auslesen mit php, php xml unterknoten auslesen, flexiwebcologne, xml ebenen php, xml knoten ebene, php auf xml knoten gleichen namen, xml mit mehreren ebenen auslesen php, php xml ebenen, xml 2 knoten einlesen, php xml bestimmten knoten auslesen

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