Tim Kellner: Problem mit XML Datei

Hallo,

ich habe ein Problem, und zwar habe ich eine XML Datei und möchte gerne den Inhalt von baustelle auslesen möchte. Das Ergebis ist jedoch null. Der Node ist richtig, aber ich komme jedoch nicht an die Daten

Mein Versuch:
nodeName = xml.childNodes[0].childNodes[i].nodeValue;

Beispiel:
<baustelle id="1">Kok. Zollverein</baustelle> => Kok. Zollverein

<?xml version="1.0" encoding="utf-8" ?>
<tagesbericht>
  <baustellen>
    <baustelle id="1">Kok. Zollverein</baustelle>
    <baustelle id="2">Duisburg Kleiststr. 59</baustelle>
    <baustelle id="3">Duisburg In den Bremmen 26</baustelle>
  </baustellen>
</tagesbericht>

Doch ich bekomme es leider nicht hin.

Hat eienr von euch eine Idee?

Gruß
Tim

  1. ich habe ein Problem, und zwar habe ich eine XML Datei und möchte gerne den Inhalt von baustelle auslesen möchte. Das Ergebis ist jedoch null. Der Node ist richtig, aber ich komme jedoch nicht an die Daten

    Wenn Du den richtigen Knoten hättest, kann das Ergebnis IMO nie Null sein. Allerdings gibt es nodeType, der Dir sagt, welchen Typ der Konten hat.

    nodeName = xml.childNodes[0].childNodes[i].nodeValue;

    Worauf referenziert xml? Auf document? Dann wäre der erste Kindknoten der hier:

    <?xml version="1.0" encoding="utf-8" ?>

    Und der hat keine weiteren Kinder. Schau Dir Dein XML mal im Firefox'schen DOM-Inspector an, da kannst Du sehr schön die Baumstruktur erkennen.

    Hat eienr von euch eine Idee?

    Versuche es mit getElementById, und bevor Du angezählt wirst: Auch in XML müssen IDs mit einem Buchstaben beginnen.

    Siechfred

    --
    Wir vom Moderatorenteam haben keinerlei Humor, von dem wir wüssten.
    1. Korrektur:

      Worauf referenziert xml? Auf document? Dann wäre der erste Kindknoten der hier:

      <?xml version="1.0" encoding="utf-8" ?>

      Der erste Kindkonoten wäre <tagesberichte>, der (neben den Whitespaces) nur einen weiteren Kindknoten hat, nämlich <baustellen>, und der hat nunmal keinen nodeValue, sondern nur weitere Kindknoten. Und die sind es doch, die Du suchst.

      Siechfred

      --
      Wir vom Moderatorenteam haben keinerlei Humor, von dem wir wüssten.
    2. Hallo Siechfred,

      Auch in XML müssen IDs mit einem Buchstaben beginnen.

      So absolut ist das nicht richtig, das genannte id-Attribut müsste auch als ID-Inhaltstyp deklariert sein. Als CDATA machen einzelne oder führende Ziffern keine Probleme:

      <?xml version="1.0" encoding="ISO-8859-1"?>  
      <!DOCTYPE bla [  
        <!ELEMENT bla (blub*)>  
        <!ELEMENT blub (#PCDATA)>  
        <!ATTLIST blub id ID #IMPLIED>  
      ]>  
      <bla>  
        <blub id="1">Test</blub><!-- Fehler in id -->  
      </bla>  
        
      vs.  
        
      <?xml version="1.0" encoding="ISO-8859-1"?>  
      <!DOCTYPE bla [  
        <!ELEMENT bla (blub*)>  
        <!ELEMENT blub (#PCDATA)>  
        <!ATTLIST blub id CDATA #IMPLIED>  
      ]>  
      <bla>  
        <blub id="1">Test</blub><!-- ok -->  
      </bla>
      

      Was die DOM-Methoden daraus machen, ist eine andere Sache und intuitiv verwendet man dann doch ID-konforme Werte ...

      Grüße,
      Thomas

      1. Hey Thomas.

        Auch in XML müssen IDs mit einem Buchstaben beginnen.
        So absolut ist das nicht richtig, das genannte id-Attribut müsste auch als ID-Inhaltstyp deklariert sein. [...]

        Danke, wieder was dazugelernt :)

        Siechfred

        --
        Wir vom Moderatorenteam haben keinerlei Humor, von dem wir wüssten.
    3. Hello out there!

      und bevor Du angezählt wirst: Auch in XML müssen IDs mit einem Buchstaben beginnen.

      Nope; auch '_' und ':' sind erlaubt. [XML10 §2.3]

      Und bevor Du angezählt wirst ;-), solltest du diese Aussage auf XML 1.0 beschränken; in XML 1.1 sind es noch etliche Zeichen mehr. [XML11 §2.3]

      See ya up the road,
      Gunnar

      --
      „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
      1. Hey Gunnar.

        und bevor Du angezählt wirst
        Und bevor Du angezählt wirst ;-)

        Jaja, Glashaus und Steine und so ;)

        Siechfred

        --
        Wir vom Moderatorenteam haben keinerlei Humor, von dem wir wüssten.