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 ?
- eu consigo o XML no texto não através do ficheiro. Não quero analisá-lo.
- quero mostrar (é isso)
- se falar sobre o XSLT (por favor, dê um exemplo)
- estou a pensar usar o 'plugin' Jquery ( qualquer exemplos?)
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/
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>
<pre lang="xml" >{{xmlString}}</pre>
Isto funcionou comigo.
Graças a http://www.codeproject.com/Answers/998872/Display-XML-in-HTML-Div#answer1
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).
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.