Hány szermély adatai vannak az XML fájlban (PHP 5, simplexml)
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:Hozzá a php, ami kiszedné az adatokat: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:Ebben kéne egy kis segítség. Köszi előre is.
■ 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>
<?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.');
}
?>
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.');
}
?>
tipp: count()
Mivel nincs PHP5-öm, ami kell a simplexml-hez ezért csak egy tipp:
count($xml->SZEMELYEK)
Próbáld foreach-el
$szemelyek_szama = count( $xml->SZEMELYEK->ADATOK );
// Kiiras
foreach( $xml->SZEMELYEK->ADATOK as $szemely )
{
echo $szemely->NEV."<br />";
}
Kukkants rá a többi függvényre is
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
foreach