Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]7310[/thread]

XML::Simple: Inhalte löschen

Tags: Ähnliche Threads

Leser: 1


<< >> 8 Einträge, 1 Seite
Gast Gast
 2005-09-27 13:38
#58406 #58406
Hallo,

ich bearbeite mit XML::Simple ein XML - File. Nun muss ich daraus etwas löschen.

Struktur:

<irgendetwas>
<link name="EVA">
....viele untergeordnete Tags und Inhalte
</link>

<link name="ADAM">
....viele untergeordnete Tags und Inhalte
</link>

<link name="HOMER">
....viele untergeordnete Tags und Inhalte
</link>

</irgendetwas>

Ich will nun mit
Code: (dl )
delete $ie->{link}->[0];

das erste Element (EVA) löschen. Dies geht zwar aber leider bleibt immer der Schlusstag (</link>) des ersten Elements bestehen. Das darf natürlich nicht sein. Wie kann ich das umgehen, welche Möglichkeiten gibt es noch? Der Schlusstag muss halt weg.

Danke.

MfG
renee
 2005-09-27 14:14
#58407 #58407
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ich würde mit CPAN:XML::Twig arbeiten:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
use XML::Twig;

my $twig=XML::Twig->new(
twig_handlers =>
{
link => sub { if($counter == 0){$_->delete; $counter++;} }, #
},
pretty_print => 'indented',
);
$twig->parsefile( 'doc.xml');
$twig->flush;


ungetestet...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
format_c
 2005-09-27 14:58
#58408 #58408
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
delete löscht bei Arrays nur den Inhalt. Entweder du jagst es duch einen splice oder durch grep. Bei großen Arrays ist splice schneller.
Würde aber auch lieber auf andere XML module schwenken wenns was aussehen soll und wenn Sortierung etc. erhalten bleiben soll.


Gruß Alex
Schmidtl
 2005-09-27 15:02
#58409 #58409
User since
2005-09-27
14 Artikel
BenutzerIn
[default_avatar]
TWIG steht mir technisch nicht zur Verfügung und ich muss ohne auskommen. Das kann ich auch nicht ändern. Was kann ich noch machen? Ich hatte auch schon andere Module probiert aber irgendwie stehen die alle nicht zur Verfügung.
Crian
 2005-09-28 16:02
#58410 #58410
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Ich vermute einfach mal, dass XML::Twig pure Perl ist. Falls das stimmt, steht es Dir zur Verfügung.

Aber wie man Module installiert, weißt Du, oder?\n\n

<!--EDIT|Crian|1127908999-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
renee
 2005-09-28 16:06
#58411 #58411
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=Crian,28.09.2005, 14:02]Aber wie man Module installiert, weißt Du, oder?[/quote]
Wnn nicht, dann das hier lesen: http://wiki.perl-community.de/bin....inModul
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Schmidtl
 2005-09-28 19:36
#58412 #58412
User since
2005-09-27
14 Artikel
BenutzerIn
[default_avatar]
Hallo,

ich darf nix weiter installieren, obwohl ich selber wöllte und technisch kein Problem wäre. Ich muss mit dem Leben was ich bis jetzt habe.

MfG
pq
 2005-09-28 20:40
#58413 #58413
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=Schmidtl,28.09.2005, 17:36]ich darf nix weiter installieren, obwohl ich selber wöllte und technisch kein Problem wäre. Ich muss mit dem Leben was ich bis jetzt habe.[/quote]
man hat dir verboten, etwas zu installieren? wie will man das überprüfen,
wenn du etwas in deinem homeverzeichnis installierst?
darfst du auch keine text-dateien in deinem homeverzeichnis ablegen?
das ist nämlich in etwa dasselbe wie ein pure-perl-modul zu installieren.
hast du überhaupt ein homeverzeichnis?
naja, vielleicht hast du ja auch einfach keine lust; ich vermute mal, du hast
den link gar nicht richtig gelesen.\n\n

<!--EDIT|pq|1127925661-->
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< >> 8 Einträge, 1 Seite



View all threads created 2005-09-27 13:38.