2012-03-20 115 views
0

我的目標是允許用戶輸入一個值,獲取與所述值相對應的一些XML,並將獲得的XML呈現在iframe中。如何將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/plaintext/xmlapplication/xml之間,但沒有任何工程。有沒有辦法做我想達到的目標?

回答

0

創建XML您可以使用此sintax

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

的第一個參數是節點的名稱,第二個是一個對象,其proerties將成爲節點的屬性。

,那麼你可以使用jQuery的方法來創建XML

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

我將如何應用此我上面的代碼? – ohseekay 2012-03-21 01:32:37