Birgit Egger: JavaScript XML

Hallo,

mit folgendem Command

  
var hotelinfo = $(xml).find('hotelinfo').text();  

hol ich mir die Hotelinfo aus einem XML, Wenn das XML jetzt so ausschaut:

  
Das ist die <a href="...">Hotelinfo</a>  

dann wird das a- tag vollkommen ignoriert.
Weiß jemand wie man das mit jQuery macht dass das a tag drinnen bleibt.

lg
Birgit

  1. Das ist die <a href="...">Hotelinfo</a>

    dann wird das a- tag vollkommen ignoriert.
    Weiß jemand wie man das mit jQuery macht dass das a tag drinnen bleibt.

    Code (also den Abschnitt in Textform) bekommst du grundsätzlich mit .html(), aber das funktioniert, wie der Name schon andeutet, nur bei HTML-Dokumenten.

    Bei XML daher http://de.selfhtml.org/javascript/objekte/node.htm#child_nodes@title=childNodes.

  2. var hotelinfo = $(xml).find('hotelinfo').text();

    
    >   
    > hol ich mir die Hotelinfo aus einem XML, Wenn das XML jetzt so ausschaut:  
    >   
    > ~~~xml
      
    
    > Das ist die <a href="...">Hotelinfo</a>  
    > 
    
    

    dann wird das a- tag vollkommen ignoriert.

    Wenn das XML geparst ist, hast du eine DOM-Objektstruktur im Speicher. Dann gibt es keine HTML-Tags mehr. Das Gegenstück zum Parsing lautet Serialisierung.

    Wenn du HTML-Code in XML unterbringen willst und als HTML-Code auslesen wilst, dann kannst du http://de.selfhtml.org/xml/regeln/zeichen.htm#cdata@title=CDATA-Abschnitte verwenden. Deren Inhalt kannst du einfach als Text auslesen. Dann sparst du dir die Serialisierung.

    Wenn du unbedingt HTML als normale Elemente im XML unterbringen willst, sie aber als Text (Code) und nicht als DOM-Elemente auslesen willst, dann kannst du das Element serialisieren. Manche Browser kennen dazu https://developer.mozilla.org/en/XMLSerializer.

    Vielleicht ist es auch einfacher, wenn du als Format nicht XML, sondern etwa JSON verwendest, und den HTML-Code darin als String übermittelst.

    jQuery hilft dir bei solchen Aufgaben nicht weiter, weil es immer auf dem DOM-Baum operiert. Nur beim HTML-DOM ist das Parsen und Serialisieren einfach möglich (wie gesagt mit jQuerys html-Methode).

    molily