【问题标题】:How to render XML document to iframe?如何将 XML 文档呈现到 iframe?
【发布时间】:2012-04-04 19:18:48
【问题描述】:

我的目标是让用户输入一个值,获取与该值对应的一些 XML,并将获取的 XML 呈现在 iframe 中。

我的 HTML 文件中有以下 jQuery 代码:

$.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();
    });

我的servlet中相关代码如下:

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,并且正在调用XMLDocument 的toString 方法。但是,我真正想要的是使用 XSL 样式表呈现 XML 并显示结果。

老实说,我不知道该怎么做,所以我尝试了 MIME 类型的排列,在text/plain、text/xml、application/xml 之间,但没有任何效果。有没有办法做我想要实现的目标?

【问题讨论】:

    标签: jquery xml servlets iframe xml-parsing


    【解决方案1】:

    要制作一个xml,你可以使用这个sintax

     var xml = $('<xml>', { version : "1.0", encoding : "UTF-8" });
    

    第一个参数是节点的名称,第二个是一个对象,其属性将成为节点的属性。

    然后你可以使用jQuery方法来创建xml

    var head = $('<head>');
    head.appendTo(xml);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-19
      • 1970-01-01
      • 2016-11-19
      • 2010-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多