Anzeige:
Ergebnis 1 bis 7 von 7

Thema: XML-Müll? junk after document element...

  1. #1
    Registrierter Benutzer
    Registriert seit
    30.04.2001
    Beiträge
    89

    XML-Müll? junk after document element...

    Hallo Leute,

    ich will mir gerade ein Skript schreiben, welches einige ftp-Verzeichnisse spiegelt. Ich bin zuerst auch ganz gut vorangekommen, aber nun erhalte ich beim Auslesen meiner Konfigurationsdatei (XML-Format) immer die Meldung:

    junk after document element at line 16, column 0, byte 635 at /usr/lib/perl5/vendor_perl/5.8.3/i586-linux-thread-multi/XML/Parser.pm line 187

    Wie man sieht benutze ich zum Auslesen das XML Modul von Perl. Im Folgenden meine Konfigurationsdatei:

    Code:
    <mirror name="SuSE" localdir="/srv/private/Programme/Linux/RPM/SuSE/">
       <source address="ftp.gwdg.de" directory="/pub/linux/suse/ftp.suse.com/suse/"/>
       <source address="ftp.tu-chemnitz.de" directory="/pub/linux/suse/ftp.suse.com/suse/"/>
       <source address="ftp.mpi-sb.mpg.de" directory="/pub/linux/mirror/ftp.suse.com/ftp.suse.com/suse/"/>
       <subdirs>
          i386/update/9.1/
          i386/supplementary/KDE/update_for_9.1/
          i386/supplementary/GNOME/update_for_9.1/
          i386/supplementary/misc/update_for_9.1/
          i386/supplementary/X/XFree86/SaX2/suse91/
          i386/supplementary/X/XFree86/ATI/suse91/
       </subdirs>
    </mirror>
    
    
    <mirror name="Packman" localdir="/srv/private/Programme/Linux/RPM/Packman/">
       <source address="packman.iu-bremen.de" directory="/suse/"/>
       <subdirs>
          9.1/
       </subdirs>
    </mirror>
    Wenn ich nur einen <mirror>-Tag angebe funktioniert das Auslesen problemlos... warum gibt es Probleme mit mehreren <mirror>-Tag's?

    Gruß, Picard

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Vielleicht darf der Root-Knoten nur einmal vorkommen?
    Ist das XML nach einer bestimmten DTD?

    Sonstst verpackst du das am besten mal testweise alles in <root></root>-Tags

    MFG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer
    Registriert seit
    30.04.2001
    Beiträge
    89
    Super, danke...

    War mir nicht bekannt, dass nur ein root erlaubt ist...

  4. #4
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Ich wüsste nicht dass das allgemein so ist. Aber in dem Fall offenbar

    Vielleicht wenn du keine DTD verwendest oder so
    Ich hab auch nicht wirklich viel Ahnung von XML

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  5. #5
    Registrierter Benutzer
    Registriert seit
    22.08.2002
    Ort
    Nürnberg
    Beiträge
    638
    Hi,

    *g* aus beruflichen Gründen bin ich gerade zum (absoluten) XML-Experten geworden (ich sag nur ISO15745, falls das jemandem etwas sagt *g*).

    Es ist richtig das Wurzelelement darf in einer XML-Datei nur einmal vorkommen (siehe auch hier: http://www.zvon.org/xxl/XMLTutorial/.../example2.html ).

    Es wäre auch gut, eine passende DTD oder besser ein passendes XML Schema zu definieren, dann kann der Parser im vorhinein prüfen, ob das XML Document formal richtig ist.

    Pingu

  6. #6
    Registrierter Benutzer Avatar von fs111
    Registriert seit
    23.03.2002
    Beiträge
    594
    evtl. solltest Du auch das mit den subdirs anders lösen, so dass jeder Pfad in einem speziellen Element landet, etwas so:

    Code:
    <subdirs>
         <dir> i386/update/9.1/</dir>
         <dir> i386/supplementary/KDE/update_for_9.1/ </dir>
         [...]
       </subdirs>
    Das macht das Dokument strukturierter.

    fs111

  7. #7
    Registrierter Benutzer
    Registriert seit
    30.04.2001
    Beiträge
    89
    Das mehrfache Erwähnen von "DTD" hat mich mal veranlasst bei google "nachzuschlagen" (hatte bis eben keinen Schimmer was das ist )... dabei wurde dann auch gleich eine Frage beantwortet, die ich mir beim Schreiben meines Skriptes gestellt habe. Ich hab nämlich angefangen, es wieder komplizierter zu machen als es ist und die Gültigkeit von Tags per if-Abfragen zu prüfen... mit einer DTD kann man sich das dann ja sparen, wenn ich das richtig sehe...

    Naja... dann werde ich mein Skript und die Konfigurationsdatei wohl nochmal überarbeiten

    Danke für die Hinweise
    Gruß, Picard

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •