webForumDet fria alternativet

PHP + xpath

1 svar · 286 visningar · startad av jme

jmeMedlem sedan maj 20012 237 inlägg
#1

Hej.

Jag har följande xml-struktur:


<app>
	<database id="mysql">
		<host>localhost</host>
		<port>3306</port>
		<username>usr</username>
		<password>pwd</password>
		<db>cal_db</db>
	</database>
	
	<tag2>
		...
	</tag2>
	
	<bla>
		...
	</bla>
</app>

Hur ska jag med php och xpath kunna lista ut namnen på alla de noder som finns under <app>?

Ur ovanstående xml vill jag således ha ut följande:

database
tag2
bla

Senare vill jag kunna eventuellt få ut namnen på de noder som finns inuti ovanstående.

sl0kMedlem sedan maj 2005562 inlägg
#2

testa ngt liknande ...

 $dom = new DOMDocument();
$dom->load('din_fil.xml');
$xpath = new DOMXPath($dom);
$element = $xpath->query('/app');
foreach ($element as $val) {
  echo $val->nodeName;
  foreach ($val->childNodes as $subNode) {
    echo $subNode->nodeName;
  } 
}

http://se2.php.net/manual/en/ref.dom.php

126 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)