| Autor | Zpráva | ||
|---|---|---|---|
| quatzael Profil |
#1 · Zasláno: 17. 10. 2016, 13:40:28
Ahoj, mám zase problém, jedná se o zpracování jednoduchého xml:
$xml = '<return>
<id>65510</id>
<title>SMART</title>
<info/>
<documents>
<name>file_1.pdf</name>
<path>http://www.domain.com/documents/file_1.pdf</path>
</documents>
<documents>
<name>file_2.pdf</name>
<path>http://www.domain.com/documents/file_2.pdf</path>
</documents>
<documents>
<name>file_3.pdf</name>
<path>http://www.domain.com/documents/file_3.pdf</path>
</documents>
</return>';
$result = simplexml_load_string($xml);
print_r($result);
/* vypíše:
SimpleXMLElement Object
(
[id] => 65510
[title] => SMART
[info] => SimpleXMLElement Object
(
)
[documents] => Array
(
[0] => SimpleXMLElement Object
(
[name] => file_1.pdf
[path] => http://www.domain.com/documents/file_1.pdf
)
[1] => SimpleXMLElement Object
(
[name] => file_2.pdf
[path] => http://www.domain.com/documents/file_2.pdf
)
[2] => SimpleXMLElement Object
(
[name] => file_3.pdf
[path] => http://www.domain.com/documents/file_3.pdf
)
)
)
*/
$_VALUE['title'] = $result->title;
print_r($_VALUE);
/* vypíše:
Array
(
[title] => SimpleXMLElement Object
(
[0] => SMART
)
)
*/
foreach ($result->documents as $key=>$value) {
echo $key . "<br/>";
}
/* vypíše:
documents
documents
documents
místo, aby vypsal:
1
2
3
*/V prvním výpise ( print_r($result);) se zdá, že xml byl bez problému převeden na objekt.
Ale místo, aby v případě $_VALUE['title'] = $result->title; byla hodnota $_VALUE['title'] přímo string "SMART" je to znovu objekt/array..
A ten foreach už vůbec nechápu, že se chová takhle..
Jde to prosím nějak ošetřit, aby to fungovalo jak má? |
||
|
Časová prodleva: 10 let
|
|||
0