PHP og XMLREADER //
HEJ,Har en XML-fil :
<xml ..... >
- <tandlege_hansen>
<data var1 = "bla" var2="blabla" var3 ="blablabla" .... />
<data var1 = "bla" var2="blabla" var3 ="blablabla" .... />
<data var1 = "bla" var2="blabla" var3 ="blablabla" .... />
.....
- <tandlege_hansen>
og i PHP'en gør jeg følgende:
<?php
$reader = new XMLReader();
if (!$reader->open("data.xml"))
{
die("Failed to open 'data.xml'");
}
....
?>
masse html-kode
<?php
while ($reader->read())
{
if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'data')
{
$var1 = $reader->getAttribute('var1');
$var2 = $reader->getAttribute('var2');
$var3 = $reader->getAttribute('var3');
.....
?>
masse HTML-kode
<?php
}
}
$reader->close();
?>
Dette her fungerer optimalt.
Nu ønsker tandlege_hansen at hans XML fil ser ud som følgende:
<xml ..... >
- <tandlege_hansen>
<uge_1>
<data var1 = "bla" var2="blabla" var3 ="blablabla" .... />
<data var1 = "bla" var2="blabla" var3 ="blablabla" .... />
<data var1 = "bla" var2="blabla" var3 ="blablabla" .... />
.....
Antal <data .. > kan variere fra 1 til 64 uafhængig af uge_nummer.
</uge1>
<uge_2>
<data var1 = "bla" var2="blabla" var3 ="blablabla" .... />
<data var1 = "bla" var2="blabla" var3 ="blablabla" .... />
<data var1 = "bla" var2="blabla" var3 ="blablabla" .... />
.....
</uge2>
....
<uge_48>
<data var1 = "bla" var2="blabla" var3 ="blablabla" .... />
<data var1 = "bla" var2="blabla" var3 ="blablabla" .... />
<data var1 = "bla" var2="blabla" var3 ="blablabla" .... />
.....
</uge48>
......
<uge_52>
<data var1 = "bla" var2="blabla" var3 ="blablabla" .... />
<data var1 = "bla" var2="blabla" var3 ="blablabla" .... />
<data var1 = "bla" var2="blabla" var3 ="blablabla" .... />
.....
</uge52>
<tandlege_hansen>
Spørgsmålet er nu:
while ($reader->read())
{
et eller andet sted her skal jeg læse </UGE_XX> (min CAP. markering) - udtrække UGE-nummeret, sammenligne med aktuelle UGE-Nummer og positionere XML-reader til aktuelle uge- læse data - vise dem og afslutte reader.... (og visning)
if ($reader->nodeType == XMLReader::ELEMENT && $reader->name == 'data')
og hvordan gør jeg det ?
Kristian