Thread LibXML:Leerzeile nach geschlossenen Tag hinzufügen (3 answers)
Opened by m1hoelbl at 2007-08-03 15:40

m1hoelbl
 2007-08-03 15:40
#97418 #97418
User since
2007-08-03
2 Artikel
BenutzerIn
[default_avatar]
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:
Code: (dl )
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:
Code: (dl )
1
2
3
4
<?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:
Code: (dl )
1
2
3
4
5
6
7
8
<?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

View full thread LibXML:Leerzeile nach geschlossenen Tag hinzufügen