web-dev-qa-db-fra.com

Afficher le contenu XML dans une page HTML

Comment afficher du XML et d'autres types de données dans la même page?

    <?xml version="1.0" encoding="ISO-8859-1"?>
<catalog>
    <cd>
        <title>Empire Burlesque</title>
        <artist>Bob Dylan</artist>
        <country>USA</country>
        <country>Columbia</country>
        <price>10.90</price>
        <year>1985</year>
    </cd>
</catalog>

Le XML ci-dessus doit être affiché tel quel avec le formatage. De plus, j'aimerais afficher des tableaux HTML et d'autres éléments dans ma page. Comment y parvenir?

  1. Je reçois XML dans STRING pas par fichier.
  2. Je ne veux pas l'analyser
  3. Je veux afficher (c'est ça)
  4. Si vous dites à propos de XSLT (veuillez donner un exemple)
  5. Je pense utiliser le plugin Jquery (des exemples?)
45
karthi

La solution simple consiste à intégrer à l'intérieur d'un élément <textarea>, ce qui préservera à la fois le formatage et les crochets angulaires. J'ai également supprimé la bordure avec style="border:none;", ce qui rend la zone de texte invisible.

Voici un exemple: http://jsfiddle.net/y9fqf/1/

75
mellamokb

Vous pouvez utiliser l'ancienne balise <xmp>. Je ne connais pas le support du navigateur, mais cela devrait quand même fonctionner.

<HTML>

your code/tables

<xmp>
    <catalog>
        <cd>
            <title>Empire Burlesque</title>
            <artist>Bob Dylan</artist>
            <country>USA</country>
            <country>Columbia</country>
            <price>10.90</price>
            <year>1985</year>
        </cd>
    </catalog>
</xmp>

Sortie:

your code/tables
<catalog>
    <cd>
        <title>Empire Burlesque</title>
        <artist>Bob Dylan</artist>
        <country>USA</country>
        <country>Columbia</country>
        <price>10.90</price>
        <year>1985</year>
    </cd>
</catalog>
29
Keombre

Si vous traitez le contenu comme text et nonHTML, les opérations DOM doivent alors entraîner le codage correct des données. Voici comment vous le feriez dans jQuery:

$('#container').text(xmlString);

Voici comment procéder avec les méthodes DOM standard:

document.getElementById('container')
        .appendChild(document.createTextNode(xmlString));

Si vous placez le code XML à l'intérieur du code HTML via un script côté serveur, il y aura forcément des fonctions de codage vous permettant de le faire (si vous ajoutez la technologie de votre côté serveur, nous pouvons vous donner le ferais).

14
Jacob
<pre lang="xml" >{{xmlString}}</pre>

Cela a fonctionné pour moi ... Merci à http://www.codeproject.com/Answers/998872/Display-XML-in-HTML-Div#answer1

11
mcsekar

Mise à jour 2017, je suppose. textarea a bien fonctionné pour moi avec Spring, Bootstrap et bien d’autres choses encore. La charge utile SOAP est stockée dans une base de données, lue par Spring et transmise via Spring-MVC. xmp n'a pas fonctionné du tout. 

1
mkirouac