Schrift
[thread]8518[/thread]

Probleme bei XML Verarbeitung

Leser: 1


<< >> 9 Einträge, 1 Seite
Gast Gast
 2006-11-21 12:09
#71880 #71880
Hallo.

(Man kann ja sogar unregistriert Beitraege schreiben - haette ich das nur vorher gewusst, nachdem die Registrierung schon seit 2 Wochen nicht geht).

Erster Post bei euch - Hallo an alle.

Im Moment bin ich mit einer Applikation beschaeftigt, die XML Dateien und/oder die Verzeichnisse, in denen sie liegen, vergleichen soll. Bei dieser Aufgabe bin ich schon ziemlich weit - Hab mir das so vorgestellt, dass ich die XML Dateien mit Data::Stag in ein fuer Tk::Tree verarbeitbares Format umwandle, um sie dann als Baumstruktur darzustellen.
Bei den ersten Tests hat das ganze gut funktioniert, nur leider stosse ich jetzt mit einer anderen XML Datei auf Probleme.

So viel nur zum Umriss der ganzen Applikation.

Zum Problem:

Um mit Tk::Tree eine hierarchische Baumstruktur aus einer XML Datei zu erzeugen, muss man diese zuerst in "hierarchischen" Text Verwandeln - Das tut Data::Stag sehr gut, bzw. es ist das einzige Modul (das ich kenne), das das tut.

Gut, jedenfalls habe ich in der XML Datei, bei welcher das Problem auftritt, folgenden Code drin stehen:

Code: (dl )
<Value>&<bla_dir&>/X28/db/site</Value>


Da die Zeichen "&#60" und "&#62" die ascii Codes fuer "<" und ">" sind, und Data::Stag diese als solche Interpretiert, kommt er hier durcheinander, und meint, dass die Struktur nicht mehr stimmt (Wer sich nichts darunter vorstellen kann, bitte bescheid sagen, dann werde ich es naeher erlaeutern).

Jetzt die Frage dazu: Wie kann ich das abschalten, dass er die Ascii Codes als Klammern interpretiert, und somit durcheinander kommt?


Danke schon mal im vorraus.



greetz
nepos
 2006-11-21 12:30
#71881 #71881
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ist das denn so in XML überhaupt erlaubt, die Zeichen zu kodieren?
Oder müsste man sowas nicht in
Code: (dl )
<![CDATA[ ... ]]>
verpacken?
Gast Gast
 2006-11-21 13:02
#71882 #71882
Hallo.

Weiss ich nicht.

Muss vielleicht dazu sagen, dass es keine eigentlichen XML Dateien sind, sondern nur welche, die von einem Binaerformat in XML Umgewandelt wurden.




greetz
renee
 2006-11-21 13:08
#71883 #71883
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Da wäre vielleicht ein anderes Parser-Modul besser! So etwas wie CPAN:XML::TreePP oder CPAN:XML::Twig
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/
vayu
 2006-11-21 13:24
#71884 #71884
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
kann nur zu XML::Twig raten. Habe damit bisher gute Erfahrungen gemacht
Gast Gast
 2006-11-21 13:26
#71885 #71885
Hallo.

Danke fuer die Antwort.

Habe XML::Twig schonmal angeschaut, und XML::TreePP auch gerade.

In einem Punkt disqualifizieren die beiden sich schon - Sie speichern die Struktur in Hashes ab, und bringen somit die XML Datei durcheinander (wenn ich sie nach einer eventuellen aenderung wieder zurueckschreiben moechte), was unter keinen Umstaenden passieren darf.



greetz
renee
 2006-11-21 14:00
#71886 #71886
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Bei CPAN:XML::TreePP ist es sehr einfach, daraus einen Hash zu machen, der die Reihenfolge beibehält:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
~/cpan/XML 402> diff TreePP.pm TreePP_old.pm 
270d269
< use Tie::IxHash;
595,598c594
<
< tie my %ixhash,'Tie::IxHash';
<
< my $tree = \%ixhash;
---
> my $tree = {};


Dazu musst Du halt noch CPAN:Tie::IxHash Wiki:installieren...\n\n

<!--EDIT|renee|1164110577-->
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/
renee
 2006-11-21 14:47
#71887 #71887
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
@mzwk: kannst Du mir sagen, was Du bei Deiner funktionierenden Registrierung anders gemacht hast als vorher?
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/
Gast Gast
 2006-11-21 15:51
#71888 #71888
Ich hab Firefox benutzt, anstatt der angepassten Version des IE fuer das Unternehmen in dem ich Arbeite.


greetz
<< >> 9 Einträge, 1 Seite



View all threads created 2006-11-21 12:09.