simplexml Ausgabe zeigt nichts an
Christian Altmann
- xml
0 frankx0 Christian Altmann0 frankx0 frankx
Hallo,
es existiert folgende XML-Datei (test.xml):
<?xml version="1.0" encoding="utf-8"?>
<ProgramList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<TotalRecords>12</TotalRecords>
<Programs>
<ProgramSummary>
<ProgramID>1</ProgramID>
<Title>Blabla 1</Title>
</ProgramSummary>
<ProgramSummary>
<ProgramID>2</ProgramID>
<Title>Blabla 2</Title>
</ProgramSummary>
</Programs>
</ProgramList>
Nun soll TotalRecords ausgegeben werden sowie die Liste durchlaufen werden und jeweils die ProgramID ausgegeben werden:
<?
$xml = simplexml_load_file('test.xml');
echo $xml->TotalRecords[0];
foreach($xml->Programs as $news) {
echo $news->ProgramID."<br>";
}
?>
TotalRecords stimmt, den Rest zeigt er aber nicht an...
Hellihello Christian,
try thisone:
<?php
ob_start();
echo "<?"?>xml version="1.0" encoding="utf-8"?>
<ProgramList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<TotalRecords>12</TotalRecords>
<Programs>
<ProgramSummary>
<ProgramID>1</ProgramID>
<Title>Blabla 1</Title>
</ProgramSummary>
<ProgramSummary>
<ProgramID>2</ProgramID>
<Title>Blabla 2</Title>
</ProgramSummary>
</Programs>
</ProgramList>
<?php
$xml_string=ob_get_clean();
?>
<?php
$xml = simplexml_load_string($xml_string);
echo "total records:
$xml->TotalRecords
---
";
echo "Programm Summary Title 1 :
". $xml->Programs->ProgramSummary[0]->Title ."
---
";
foreach($xml->Programs->ProgramSummary as $key => $news) {
var_dump($news);
echo $key .": ". $news->Title."<br>";
}
?>
Gruß,
frankx
Hellihello Christian,
hellohelli zurück! nun was soll ich sagen... danke! :) es funktioniert. weiß jetzt auch warum vorher nicht :)
Hellihello,
im Grunde aber eigentlich "logischer", eine NodeList zu erzeugen:
$ProgramSummarys=$xml->xpath("*/ProgramSummary");
echo"
---------------
";
var_dump($ProgramSummarys);
echo"
---------------
";
foreach($ProgramSummarys as $Programsummary) {
echo $Programsummary->Title."<br>";
}
Gruß,
frankx
Hellihello
//besser wohl:
$ProgramSummarys=$xml->xpath("//ProgramSummary");
// statt $ProgramSummarys=$xml->xpath("*/ProgramSummary");
Gruß,
frankx