Pergunta

Este é um problema bastante simples, mas não consigo encontrar uma solução. Eu escrevo alguns XML para um div escondido em tha página e eu lê-lo mais tarde. O problema é que algumas citações estão sendo removidos ao escrever no div e por isso eu não posso carregar o uso do XML no IE usando LoadXML

Este é o XML

<parameters id='XXX'>
<product_id value='YYY'/>
<report_id value='ZZZ'/>
<list>
    <filter_id value='AAA'/>
</list>
<date_begin value='BBB'/>
<date_end value='CCC'/>
<timeframe_id value='DDD'/>
<chart_id value='EEE'/>

Eu usei um monte de diferentes métodos, mas nada parece funcionar, eu estou tentando usar jQuery, tanto quanto possível para evitar problemas de cross browser, mas qualquer solução vai fazer.

Eu anexar o xml, em um paramString variável de cadeia, acima usando

var parametersDiv = "<div id='" + reportDivId + "_params' style='visibility: hidden; display: none'>" + paramString + "</div>";

e vai in fine.

No entanto, quando tento recuperá-la as aspas em torno do XXX são removidos no IE. Assim eu não posso carregá-lo usando loadXML (). Eu poderia cortar uma solução, mas eu gostaria de fazê-lo corretamente.

Todas as soluções seria útil, eu perdi quase um dia sobre isso já.

Graças

JD

Foi útil?

Solução

Tente usar aspas e ver se isso faz o trabalho.

Se não, outra solução para o seu problema pode ser para obter o XML através de um XMLHttpRequest (Ajax).

jQuery.ajax({
  url: 'yourUrlThatReturnsXML',
  dataType: 'xml',
  success: function (data, textStatus) {
   $(data); // Your XML
  }
});

Outras dicas

Como você está inserindo estas divs escondidas dentro da página? Provavelmente, você está usando innerHTML (dado que você tem uma string), mas isso significa que ele está sendo passado através do analisador HTML do IE. Isto irá transformá-lo em (inválido) HTML, e quando você tenta recuperá-lo você vai ver o efeito que você descrever de atributos sendo não cotados (efeitos colaterais e, provavelmente, outros que você acontecer não ter encontrado ... ainda).

Sua melhor aposta é para salvar uma referência para o documento XML retornado (não uma serialização corda do mesmo) em uma variável.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top