Моя цель - позволить пользователю вводить значение, получать XML, соответствующее указанному значению, и отображать полученный XML в iframe.Как преобразовать XML-документ в iframe?
У меня есть следующий код JQuery в моем HTML-файл:
$.post('VerifyServlet', { action: "getDocument", "tcNo": tcNo, "pgNo": pgNo }, function(data) {
var xml = "<?xml-stylesheet type=\"text/xsl\" href=\"../xsl/esigtest.xsl\"?>" + data;
var ifrm = document.getElementById('xmlLoader');
ifrm = (ifrm.contentWindow) ? ifrm.contentWindow : (ifrm.contentDocument.document) ? ifrm.contentDocument.document : ifrm.contentDocument;
ifrm.document.open('text/xml');
ifrm.document.write(xml);
ifrm.document.close();
});
Соответствующий код в моем сервлета следующим образом:
response.setContentType("text/xml");
PrintWriter out = response.getWriter();
out.println(xmlString);
Тогда у меня есть мой IFRAME ...
...
<td colspan="3">
<iframe id="xmlLoader" frameborder="0" width="100%" height="100%"></iframe>
</td>
...
Составленный вместе результат, полученный в моем iframe, равен
<?xml-stylesheet type="text/xsl" href="../xsl/esigtest.xsl"?>[object XMLDocument]
я сделать вывод, что [object XMLDocument]
, вероятно, имея в виду data
, и что toString
метод XMLDocument в настоящее время вызывается. Однако на самом деле я хочу, чтобы XML-рендеринг использовался с помощью таблицы стилей XSL и отображаемых результатов.
Я честно не знаю, как идти об этом, поэтому я попытался перестановки типа MIME, между text/plain
, text/xml
, application/xml
, но ничего не работает. Есть ли способ сделать то, что я хочу достичь?
Как бы применить это к моему коду выше? – ohseekay