Blaize: Daten aus XML laden und als Links ausgeben

Hallo,

ich erstelle gerade eine Mediathek. Die Datenbasis besteht aus einer XML und DTD, die Daten werden über XSLT aus der Instanz ausgelesen und in ein HTML eingefügt. Das läuft auch. Meine Html besteht aus einem Navigationsmenü, einem Contentbereich und einem Footer. Wenn ich jetzt mittels Javascript alle Titel aus der XML auslesen möchte und als Links in das Navigationsmenü reinschreiben möchte, wie könnte das funktionieren? Ich muss dazu sagen, ich habe erst vor ein paar Monaten mit dem Ganzen angefangen und bin noch kräftig am Üben ;-) Und Javascript ist nicht so wirklich meine Stärke... Also nicht über dumme Anfängerfragen wundern... Danke schon mal im Voraus.

Liebe Grüße, Vera

  1. Liebe Blaize,

    Liebe Grüße, Vera

    oder auch Vera,

    ist das jetzt der neue Trend, dass sich Leute mit femininen Namen hier melden...? Oder steigt wirklich die Anzahl der weiblichen Hilfesuchenden hier an? Nicht dass ich auch nur das Geringste dagegen hätte!

    Liebe Grüße,

    Felix Riesterer.

    --
    "Wäre die EU ein Staat, der die Aufnahme in die EU beantragen würde, müsste der Antrag zurückgewiesen werden - aus Mangel an demokratischer Substanz." (Martin Schulz, Präsident des EU-Parlamentes)
    1. Lieber Felix, ;-)

      das ist jetzt zwar nicht so wirklich die Antwort, die ich erwartet hatte, aber trotzdem nett ;-)

      ist das jetzt der neue Trend, dass sich Leute mit femininen Namen hier melden...? Oder steigt wirklich die Anzahl der weiblichen Hilfesuchenden hier an? Nicht dass ich auch nur das Geringste dagegen hätte!

      Vielleicht lernen immer mehr weibliche Menschen Informatik zu schätzen und daraus ergibt sich dann, dass es auch mehr Lernende und damit Hilfesuchende gibt... Aber ich hätte nicht gedacht, dass es so ein Phänomen ist ;-)

      Lg, Vera

      1. Hallo,

        ist das jetzt der neue Trend, dass sich Leute mit femininen Namen hier melden...? Oder steigt wirklich die Anzahl der weiblichen Hilfesuchenden hier an? Nicht dass ich auch nur das Geringste dagegen hätte! Vielleicht lernen immer mehr weibliche Menschen Informatik zu schätzen und daraus ergibt sich dann, dass es auch mehr Lernende und damit Hilfesuchende gibt...

        das kann durchaus sein, und das ist auch gut so. Nur leider haben die mit dem Problem zu kämpfen, dass sich seit Jahren immer wieder mal einzelne ihrer männlichen Kollegen hinter einem weiblichen Namen verstecken, und so auf einen Aufmerksamkeitsbonus hoffen.

        Aber ich hätte nicht gedacht, dass es so ein Phänomen ist ;-)

        Ein Phänomen würde ich nicht sagen; aber auch mir fällt auf, dass der Anteil an Frauennamen hier im Forum in letzter Zeit zunimmt.

        Ciao,  Martin

        --
        Fettflecke werden wieder wie neu, wenn man sie regelmäßig mit etwas Butter einschmiert. Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        1. Hallo Martin,

          ich muss ehrlich sagen, darauf fällt mir nichts mehr ein... Das ist echt traurig...

          Lg, Vera (eine Frau, die sich den Namen nicht raussucht, um Aufmerksamkeit zu erregen ;-)

          Hallo,

          ist das jetzt der neue Trend, dass sich Leute mit femininen Namen hier melden...? Oder steigt wirklich die Anzahl der weiblichen Hilfesuchenden hier an? Nicht dass ich auch nur das Geringste dagegen hätte! Vielleicht lernen immer mehr weibliche Menschen Informatik zu schätzen und daraus ergibt sich dann, dass es auch mehr Lernende und damit Hilfesuchende gibt...

          das kann durchaus sein, und das ist auch gut so. Nur leider haben die mit dem Problem zu kämpfen, dass sich seit Jahren immer wieder mal einzelne ihrer männlichen Kollegen hinter einem weiblichen Namen verstecken, und so auf einen Aufmerksamkeitsbonus hoffen.

          Aber ich hätte nicht gedacht, dass es so ein Phänomen ist ;-)

          Ein Phänomen würde ich nicht sagen; aber auch mir fällt auf, dass der Anteil an Frauennamen hier im Forum in letzter Zeit zunimmt.

          Ciao, Martin

          1. Om nah hoo pez nyeetz, Blaize!

            ich muss ehrlich sagen, darauf fällt mir nichts mehr ein... Das ist echt traurig... Vera (eine Frau, die sich den Namen nicht raussucht, um Aufmerksamkeit zu erregen ;-)

            Das verstehe ich nicht, ist das Kritik an Martins Beitrag oder Kritik am Verhalten mancher Männer?

            Bitte vermeide Vollzitate. Zitiere nur das, worauf du dich konkret beziehst. Danke.

            Matthias

            --
            Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Balsa und Balsam. http://www.billiger-im-urlaub.de/kreis_sw.gif
  2. Javascript ist nicht so wirklich meine Stärke...

    Ich finde jquery sehr intuitiv. Möchtest Du damit vielleicht arbeiten? Nachfolgende Lösung bezieht sich auf jquery.

    die Daten werden über XSLT aus der Instanz ausgelesen und in ein HTML eingefügt. Das läuft auch.

    Gut, dann hast Du ein DOM in welchem Du Dich bewegen und auf die strukturierten Daten zugreifen kannst (das könntest Du auch direkt in der XML Datei machen, aber da Du die Daten auch anzeigen möchtest ist es auch ok das im html zu machen).

    Um nun mit jquery auf die gewünschten Daten zugreifen zu können, musst Du die Struktur mal bekannt geben. E.g. wie sind die Knoten aufgebaut, stehen die Informationen in Attributen oder im Content der Elemente, etc.

    <items>
      <media title="Video: alles über CSS3">
        <description>
        info goes here.
        </description>
      </media>
    
      <media title="Video: alles über HTML5">
        <description>
        info goes here.
        </description>
      </media>
    
    </items>
    

    oder eher so:

    <items>
    
      <media>
        <title>Video: alles über CSS3</title>
        <description>info goes here.</description>
      </media>
    
      <media>
        <title>Video: alles über HTML5</title>
        <description>info goes here.</description>
      </media>
    
    </items>
    

    Je nach Aufbau musst Du dann auf die Informationen zugreifen. Im nächsten Schritt kannst Du dann daraus eine Linkliste erstellen.

    Das könnte so ähnlich aussehen:

    $("div.mediathek").find('media').each(function(){
    
      var $media= $(this);
      var title = $media.attr("title");
      var description = $media.find('description').text();
    
      var html = '<ul>';
      html += '<li><a>'+title+'</a></li>'; // href natürlich auch noch erstellen
      html += '</ul>';
    
      $('nav div.items').append($(html));
    });
    

    (ungetestet)

    Cheers, Baba

    --
    Baba kommt von Basketball
    1. Hey, erstmal vielen, vielen Dank für deine Antwort! Mit jquery habe ich noch garnicht gearbeitet und müsste mich erst einarbeiten, dazu fehlt mir gerade leider ein bisschen die Zeit. Habe jetzt schon alles mit JavaScript gemacht, bzw eigentlich sogar über xsl und nur die Transformation über JavaScript. Das mit der Liste funktioniert auch, aber es muss doch möglich sein, die Daten, die ich mir xsl rausgeholt hab, zu verlinken?! Würde gerne den Aufbau posten, aber ins Forum komme ich momentan nur übers Handy. Internet ist gerade etwas wackelig und bricht beim Forum immer ab :-/ lg, Vera

      Javascript ist nicht so wirklich meine Stärke... Ich finde jquery sehr intuitiv. Möchtest Du damit vielleicht arbeiten? Nachfolgende Lösung bezieht sich auf jquery.

      die Daten werden über XSLT aus der Instanz ausgelesen und in ein HTML eingefügt. Das läuft auch. Gut, dann hast Du ein DOM in welchem Du Dich bewegen und auf die strukturierten Daten zugreifen kannst (das könntest Du auch direkt in der XML Datei machen, aber da Du die Daten auch anzeigen möchtest ist es auch ok das im html zu machen).

      Um nun mit jquery auf die gewünschten Daten zugreifen zu können, musst Du die Struktur mal bekannt geben. E.g. wie sind die Knoten aufgebaut, stehen die Informationen in Attributen oder im Content der Elemente, etc.

      <items>
      
      >   <media title="Video: alles über CSS3">
      >     <description>
      >     info goes here.
      >     </description>
      >   </media>
      > 
      >   <media title="Video: alles über HTML5">
      >     <description>
      >     info goes here.
      >     </description>
      >   </media>
      > 
      > </items>
      
      

      oder eher so:

      <items>
      
      > 
      >   <media>
      >     <title>Video: alles über CSS3</title>
      >     <description>info goes here.</description>
      >   </media>
      > 
      >   <media>
      >     <title>Video: alles über HTML5</title>
      >     <description>info goes here.</description>
      >   </media>
      > 
      > </items>
      
      

      Je nach Aufbau musst Du dann auf die Informationen zugreifen. Im nächsten Schritt kannst Du dann daraus eine Linkliste erstellen.

      Das könnte so ähnlich aussehen:

      $("div.mediathek").find('media').each(function(){
      
      > 
      >   var $media= $(this);
      >   var title = $media.attr("title");
      >   var description = $media.find('description').text();
      > 
      >   var html = '<ul>';
      >   html += '<li><a>'+title+'</a></li>'; // href natürlich auch noch erstellen
      >   html += '</ul>';
      > 
      >   $('nav div.items').append($(html));
      > });
      
      

      (ungetestet)

      Cheers, Baba

      1. Ganz wichtig: bitte zitiere nur die Teile einer Nachricht, auf die Du Dich beziehst.

        Das mit der Liste funktioniert auch, aber es muss doch möglich sein, die Daten, die ich mir xsl rausgeholt hab, zu verlinken?!

        Ja, sicher ist das möglich. Wie willst Du es denn machen (wie lautet das Ziel)?

        Würde gerne den Aufbau posten, aber ins Forum komme ich momentan nur übers Handy. Internet ist gerade etwas wackelig und bricht beim Forum immer ab :-/

        Ok?!?

        Cheers, Baba

        --
        Baba kommt von Basketball