Airwolf89: einzelne unterelemente eines xml auslesen #2

Beitrag lesen

Hallo,

ich hoffe mir ist keiner böse dass ich diesen Thread nochmal aufmache, aber der Alte ist schon im Archiv gelandet, und soweit ich weiß kommen neu beantwortete nicht wieder nach oben, von daher der zweite Versuch.

Die Zeit hängt mir nun nicht mehr im Nacken, sodass wir uns in Ruhe meiner Frage widmen können. Zur Erklärung, wir hatten Tag der offenen Tür bei uns (für Bewerber) und hatten kurzfristig beschlossen so ne Art Demonstrationsarbeitsplatz hinzustellen wo wir nen bissl was machen was wir auf Arbeit normal so tun, ich wurde für Webentwicklung ausgewählt und wollte halt möglichst viel zeigen und erklären. Von daher habe ich gehofft so schnell wie möglich von euch ne Antwort zu bekommen. Aber das hatte sich sowiso erledigt. Möchte aber das Problem trotzdem lösen, weil ich da noch an was dran bin.

Hier nochmal das alte Posting:

Airwolf89:

###########################################################################
Hallo,

ich habe da nen Problem, bei dessen Lösung ich nicht viel Zeit habe...

Also, ich habe folgende XML datei:

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

<inhalt typ="text" format="stil_6">

<text>
    <main>
        mainText
    </main>
    <inf>
        infText
    </inf>
  </text>

<menue>
          <eins>
                  Toggle1

<pkt1>
                        Punkt 1
                </pkt1>
                <pkt2>
                        Punkt 2
                </pkt2>
                <pkt3>
                        Punkt 3
                </pkt3>

</eins>
        <zwei>
                Toggle2

<pkt1>
                        Punkt 1
                </pkt1>
                <pkt2>
                        Punkt 2
                </pkt2>
                <pkt3>
                        Punkt 3
                </pkt3>
          </zwei>
        <drei>
                Toggle3

<pkt1>
                        Punkt 1
                </pkt1>
                <pkt2>
                        Punkt 2
                </pkt2>
                <pkt3>
                        Punkt 3
                </pkt3>
          </drei>
        <vier>
                Toggle4

<pkt1>
                        Punkt 1
                </pkt1>
                <pkt2>
                        Punkt 2
                </pkt2>
                <pkt3>
                        Punkt 3
                </pkt3>
          </vier>
  </menue>

</inhalt>

Nun möchte ich die einzelnen Texte aus den Knoten auslesen und in Variablen speichern.

text[1] = xmlDoc.getElementsByTagName("main")[0].childNodes[0].nodeValue;
.
.
.

Damit komme ich auch an die knoten, also z.b. an <main>, <inf>, und <eins> usw, jedoch nicht an <pkt1> usw.

Ich will halt jetzt die Texte pkt1 usw. einzeln in Variablen speichern.

Wie komme ich an die ran? Also dass ich ihm sage, speichere den Text von Knoten <pkt1> unter dem Knoten <ein> in eine Variable?

(>>Habe noch nicht viel Erfahrung mit xml, werde mich auch später noch ausführlich damit befassen, aber dieses problem muss ich baldstmöglich lösen, wäre also schön wenn ihr mir nur den Code gebt. Habe schon im Netz gesucht, habe aber wie gesagt gerade keine zeit mich durch seitenweise tutorials zu suchen um das zu finden. (nur zur Info, also bitte keine Links zu "irgendwelchen" XML Tutorials)<<) ist nicht mehr so, ignorieren...

Muss ich da jetzt <eins> usw. mit ids versehen und das irgendwie darüber ansteuern oder muss da nur ne bestimmte Kombination bei childnotes eingegeben werden?

Vieln Dank im voraus.
###########################################################################

Suit:

###########################################################################

Wie komme ich an die ran? Also dass ich ihm sage, speichere den Text von Knoten <pkt1> unter dem Knoten <ein> in eine Variable?

childNodes kennst du doch offensichtlich schon - ggf. interessiert dich aber auch getElementsByName

Habe noch nicht viel Erfahrung mit xml, werde mich auch später noch ausführlich damit befassen, aber dieses problem muss ich baldstmöglich lösen, wäre also schön wenn ihr mir nur den Code gebt.

Netter vesuch

Habe schon im Netz gesucht, habe aber wie gesagt gerade keine zeit mich durch seitenweise tutorials zu suchen um das zu finden. (nur zur Info, also bitte keine Links zu "irgendwelchen" XML Tutorials)

XML ist hier nebensächlich, das dich interessiert ist DOM.

btw: warum hast du eine Denkbar ungünstige XML-Struktur wenn du doch ein Menü ausgeben willst?

Warum müssen die Knoten "nummeriert" sein - mit eins, zwei, drei usw - als namen

Was genügt dir an einem Baum wie etwa einer unsortieren HTML-Liste nicht? Nichts leichter als diesen 1:1 nach XML übernehmen. HTML (bzw SMGL) ist mit XML sehr eng verwandt - XHTML sogar dasselbe (bzw. eine teilmenge davon).
###########################################################################

So, Problem ist das gleiche geblieben, hier mal meine Antwort.

getElementsByName werde ich mir nochmal anschauen und gucken was sich damit anstellen lässt.

Was meintest du mit ungünstiger Struktur? Spiegelt eigentlich mehr oder weniger die Struktur meines Menüs in HTML wider.
Die Tag-Bezeichnungen kann man noch abändern war nur erstmal so. Hatte aber gesehen dass es solche XMLs gibt, also wo die Knoten gleich heißen nur unter anderen Unterknoten stehen oder irgendwelche Eigenschaften haben.

Weiß nit ob ich jetzt deinen Post missverstehe oder ob das bei dir der Fall war, ich möchte über die xml kein Menü ausgeben (habe mal gelesen dass das ja irgendwie ging, also über XML die ganze seite aufbauen, aber egal) Das Menü an sich ist im HTML aufgebaut, ich möchte halt nur die Texte aus der XML auslesen lassen und in die Seite laden lassen. Nur um missverständnissen vorzubeugen.

Was ich leider noch nicht so wirklich gefunden habe, (ehrlich gesagt habe ich mir den Javascript Befehl nur von ner kleinen Doku kopiert und versucht da nen bissl mit rumzuspielen bis es einigermaßen geklappt hat), was haben die Zahlen bei getElementsByTagName und bei Childnodes zu bedeuten. Mir ist es nicht gelunden über die Parameter die tags anzusteuern, also wozu sind die da?

Zu den ChildNodes, habe ich das so richtig verstanden dass man damit irgendwie eine Knotenebene tiefer komme oder so?

Gut das sind erstmal genug Fragen =)

Will mich jetzt weiter mit XML beschäftigen. Also will von euch nicht nur Code haben sondern Anregungen wonach ich suchen soll, weil das ja immer so mein Problem ist, irgendwas zu finden wenn man nicht weiß wonach man suchen soll.

Vielen Dank im voraus.