Hallo,
mein Problem ist, dass beim Hinzufügen eines Teilbaums in ein vorhandenes XML-File alles in einer Reihe geschrieben wird und ich hätte gerne, dass nach jedem geschlossenen Tag ein new-line geschrieben wird, weiß aber leider nicht wie und wo.
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
...
$parser = XML::LibXML->new;
$dom = $parser->parse_file("cameras.xml") or die;
@Data = $dom->getElementsByTagName("Data");
# Aufbau des Teilbaums
# camera
$camera_elem = $dom->createElement("camera"); # camera-Element wird erstellt
$camera_elem->setAttribute('cname',$cname); # cname wird als Attribut gesetzt
# cam_id
$cam_id_elem = $dom->createElement("cam_id"); # cam_id-Element wird erstellt
$cam_id_tn = $dom->createTextNode($cam_id); # cam_id-textnode mit der Kamera-ID wird erstellt
$cam_id_elem->appendChild($cam_id_tn); # Der Textnode wird dem cam_id-Element hinzugefuegt
# start
$start_elem = $dom->createElement("start");
$start_tn = $dom->createTextNode($start);
$start_elem->appendChild($start_tn);
$camera_elem->appendChild($cam_id_elem); # cam_id-Element wird dem camera-Element hinzugefügt
$camera_elem->appendChild($start_elem); # start-Element wird dem camera-Element hinzugefügt
$Data[0]->appendChild($camera_elem);
$dom_string = $dom->toString();
...
Jetzt schaut es folgendermaßen aus:
<?xml version="1.0" encoding="ISO-8859-1"?>
<Data>
...
<camera cname="Kamera1"><cam_id>230</cam_id><start>start</start></camera></Data>
Ich hätte aber gerne, dass es nach jedem endenden Tag eine new-Line eingefügt wird, also folgendermaßen:
<?xml version="1.0" encoding="ISO-8859-1"?>
<Data>
...
<camera cname="Kamera1">
<cam_id>230</cam_id>
<start>start</start>
</camera>
</Data>
Ist das irgendwie möglich?? Ich weiß nicht, wo ich beim Code ein "\n" einfügen sollte, dass es so funktioniert!
Vielen Dank im Voraus!
LG Markus