ugrás a tartalomhoz

Hány szermély adatai vannak az XML fájlban (PHP 5, simplexml)

Anonymous · 2006. Jún. 24. (Szo), 03.02
Hi!

Elakadtam egy feladattal, talán van itt valaki, aki tud segíteni.
Szóval, adott egy xml file, amiből ki kéne szednem az adatokat. A szerkezet kötött, sajnos nem tudok változtatni rajta. Valami ilyesmi:

<?xml  version="1.0" encoding="ISO-8859-2"?>
<root xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<SZEMELYEK>
<ADATOK>
<NEV>TAMAS</NEV>
<SULY>78KG</SULY>
<MAGASSAG>180CM</MAGASSAG>
</ADATOK>
<ADATOK>
<NEV>KARCSI</NEV>
<SULY>85KG</SULY>
<MAGASSAG>187CM</MAGASSAG>
</ADATOK>
</SZEMELYEK>
</root>
Hozzá a php, ami kiszedné az adatokat:

<?php

if (file_exists('test.xml')) {
   $xml = simplexml_load_file('test.xml');
 
	// var_dump($xml);

	echo ($xml->SZEMELYEK->ADATOK->NEV);
}

else {
   exit('Failed to open test.xml.');
}
?> 
Ez most egy nagyon alap példa. Abban kéne segítség, hogy hogyan tudnám meghatározni, hogy hány személy adatai vannak a file-ban.
Tehát valahogy megkéne számoltatnom, és utána kiiratni, valahogy így:

<?php

if (file_exists('test.xml')) {
   $xml = simplexml_load_file('test.xml');
 
	// var_dump($xml);
	// Meg kéne határozni, hogy hány személy van
	
	$i = 0;

	while ($i < $szemelyek_szama)
	echo ($xml->SZEMELYEK->ADATOK->NEV);
	$i++;

}

else {
   exit('Failed to open test.xml.');
}
?> 
Ebben kéne egy kis segítség. Köszi előre is.
 
1

tipp: count()

TeeCee · 2006. Jún. 24. (Szo), 08.36
Hali!

Mivel nincs PHP5-öm, ami kell a simplexml-hez ezért csak egy tipp:
count($xml->SZEMELYEK)
2

Próbáld foreach-el

gnycz · 2006. Jún. 24. (Szo), 09.09
// SzemelyekSzama
$szemelyek_szama = count( $xml->SZEMELYEK->ADATOK );

// Kiiras
foreach( $xml->SZEMELYEK->ADATOK as $szemely )
{
    echo $szemely->NEV."<br />";
}
3

Kukkants rá a többi függvényre is

Anonymous · 2006. Jún. 24. (Szo), 13.15
Pl.
http://hu2.php.net/manual/en/function.simplexml-element-xpath.php
http://hu.php.net/manual/en/function.simplexml-element-children.php

És nyilván a kommentekre is.

XPath példák:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/1431789e-c545-4765-8c09-3057e07d3041.asp

jbt
4

foreach

Anonymous · 2006. Jún. 24. (Szo), 15.11
A megoldás foreach használatával tökéletes, köszönöm szépen!