DOM xml ist leer
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
-
Hi,
ich bin mal wieder nach langer Zeit hier, weil ich echt nicht weiterkomme.
Ich bin dabei ein XML-Backend zu schreiben, aber wenn ich das ganze ausführe wird nur
ausgegeben.<?xml version="1.0" encoding="ISO-8859-1"?>
// Natürlich sind die Variblen mit Inhalt gefüllt;
Hier ist der relevante Teil des Codes.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126public
function
printXML(){
$args
=
$this
->getData();
$mon
=
new
Mon();
$tue
=
new
Tue();
$wed
=
new
Wed();
$thu
=
new
Thu();
$fri
=
new
Fri();
for
(
$i
= 0;
$i
<
count
(
$args
);
$i
++){
for
(
$j
= 1;
$j
<
count
(
$args
[
$i
]);
$j
++){
switch
(
$j
) {
case
1:
$mon
->parseData(
$args
[
$i
][
$j
],
$args
[
$i
][0]);
break
;
case
2:
$tue
->parseData(
$args
[
$i
][
$j
],
$args
[
$i
][0]);
break
;
case
3:
$wed
->parseData(
$args
[
$i
][
$j
],
$args
[
$i
][0]);
break
;
case
4:
$thu
->parseData(
$args
[
$i
][
$j
],
$args
[
$i
][0]);
break
;
case
5:
$fri
->parseData(
$args
[
$i
][
$j
],
$args
[
$i
][0]);
break
;
default
:
break
;
}
}
}
$doc
=
new
DOMDocument(
"1.0"
,
"ISO-8859-1"
);
$root
=
$doc
->createElement(
'root'
);
$monNode
=
$doc
->createElement(
'mon'
);
$tueNode
=
$doc
->createElement(
'tue'
);
$wedNode
=
$doc
->createElement(
'wed'
);
$thuNode
=
$doc
->createElement(
'tue'
);
$friNode
=
$doc
->createElement(
'fri'
);
$root
->appendChild(
$monNode
);
$root
->appendChild(
$tueNode
);
$root
->appendChild(
$wedNode
);
$root
->appendChild(
$thuNode
);
$root
->appendChild(
$friNode
);
$mon
->getXml(
$monNode
,
$doc
);
$tue
->getXml(
$tueNode
,
$doc
);
$wed
->getXml(
$wedNode
,
$doc
);
$thu
->getXml(
$thuNode
,
$doc
);
$fri
->getXml(
$friNode
,
$doc
);
echo
$doc
->saveXML();
}
}
class
schoolDay{
public
$id
= Array();
public
$time01
= Array();
public
$time02
= Array();
public
$subject
= Array();
public
$room
= Array();
public
function
parseData(
$arg0
,
$arg1
){
$args
= preg_split(
"/ /"
,
$arg0
);
$time
= preg_split(
"/ /"
,
$arg1
);
for
(
$i
= 0; (
$i
+1) <
count
(
$args
);
$i
= (
$i
+2)){
$this
->id[] =
count
(
$this
->id);
$this
->time01[] =
$time
[0];
$this
->time02[] =
$time
[1];
$this
->subject[] =
$args
[
$i
];
$this
->room[] =
$args
[(
$i
+1)];
}
}
public
function
getXml(
$node
,
$doc
){
for
(
$i
= 0;
$i
<
count
(
$this
->id);
$i
++){
$item
=
$doc
->createElement(
"item"
);
$node
->appendChild(
$item
);
$item
->appendChild(
$doc
->createElement(
'id'
,
$this
->id[
$i
]));
$item
->appendChild(
$doc
->createElement(
'time01'
,
$this
->time01[
$i
]));
$item
->appendChild(
$doc
->createElement(
'time02'
,
$this
->time02[
$i
]));
$item
->appendChild(
$doc
->createElement(
'subject'
,
$this
->subject[
$i
]));
$item
->appendChild(
$doc
->createElement(
'room'
,
$this
->room[
$i
]));
$item
->appendChild(
$doc
->createElement(
'teacher'
,
'---'
));
}
}
}
class
Mon
extends
schoolDay{
}
class
Tue
extends
schoolDay{
}
class
Wed
extends
schoolDay{
}
class
Thu
extends
schoolDay{
}
class
Fri
extends
schoolDay{
}
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Du hast vor dem
noch folgende Zeile vergessen:$doc->saveXML()
1$doc
->appendChild(
$root
);
Beitrag zuletzt geändert: 27.8.2013 22:11:23 von hackyourlife -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage