Mostrar o conteúdo em XML na página HTML

Como mostrar XML e outros tipos de dados na mesma página ?

    <?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>

o XML acima deve ser mostrado como é com a formatação. Além disso, eu gostaria de exibir tabelas HTML e outras coisas na minha página. Como conseguir isso ?

  1. eu consigo o XML no texto não através do ficheiro.
  2. Não quero analisá-lo.
  3. quero mostrar (é isso)
  4. se falar sobre o XSLT (por favor, dê um exemplo)
  5. estou a pensar usar o 'plugin' Jquery ( qualquer exemplos?)
Author: karthi, 2011-09-22

5 answers

A solução simples é incorporar dentro de um elemento {[[0]}, que irá preservar tanto a formatação como os suportes de ângulo. Também removi a fronteira com style="border:none;" o que torna o textarea invisível.

Aqui está uma amostra: http://jsfiddle.net/y9fqf/1/

 94
Author: mellamokb, 2011-09-22 18:29:48

Pode usar a etiqueta antiga <xmp>. Não sei sobre suporte de navegador, mas ainda deve funcionar.

<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>

Resultado:

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>
 39
Author: Keombre, 2014-07-13 19:56:39
<pre lang="xml" >{{xmlString}}</pre>
Isto funcionou comigo. Graças a http://www.codeproject.com/Answers/998872/Display-XML-in-HTML-Div#answer1
 18
Author: mcsekar, 2016-02-26 09:45:54

Se você tratar o conteúdo como texto , não HTML , então as operações DOM devem fazer com que os dados sejam devidamente codificados. É assim que se faz em jQuery.

$('#container').text(xmlString);
Aqui está como você faria isso com os métodos DOM padrão:
document.getElementById('container')
        .appendChild(document.createTextNode(xmlString));

Se estiver a colocar o XML dentro do HTML através de scripting do lado do servidor, é provável que haja funções de codificação que lhe permitam fazer isso (se adicionar a sua tecnologia do lado do servidor, podemos dar-lhe exemplos específicos de como faria ele).

 15
Author: Jacob, 2011-09-22 18:32:31

Actualização de 2017, acho eu. o textarea funcionou bem para mim usando Primavera, presilha e um monte de outras coisas. Tenho a carga de sabão armazenada num DB, lida pela primavera e empurra via Spring-MVC. o xmp não funcionou.

 0
Author: mkirouac, 2017-06-01 16:10:51