2013-12-12 63 views
0

我正在編寫用於transfrorming XML文檔的Web應用程序,我需要將來自我的變換腳本的輸出附加到任何變量。JavaScript - 變量和appendchild

我的問題是,輸出是DOM,我需要把它放到變量。 我tryed var x.appendChild(result),但它不起作用。怎麼做?

對不起我的英語不好:)


編輯:

歐凱,這裏是我的代碼:

function transform(){ 
document.getElementById("result").innerHTML=""; 

var xml=editor.getValue(); 
var xsl=editor2.getValue(); 
var result = "XML and Query fields are required."; 
if(xml && xsl){ 
    if (window.DOMParser) 
     { 
     var parser=new DOMParser(); 
     xmlDoc=parser.parseFromString(xml,"text/xml"); 
     xslDoc=parser.parseFromString(xsl,"text/xml"); 
     } 
    else // Internet Explorer 
     { 
     xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); 
     xmlDoc.async="false"; 
     xmlDoc.loadXML(xml); 

     xslDoc=new ActiveXObject("Microsoft.XMLDOM"); 
     xslDoc.async="false"; 
     xslDoc.loadXML(xsl); 
     } 

    try{ 
     // code for IE 
     if (window.ActiveXObject) 
      { 

      result=xmlDoc.transformNode(xslDoc); 
      document.getElementById("result").innerHTML=result; 
      } 
     // code for Mozilla, Firefox, Opera, etc. 
     else if (document.implementation && document.implementation.createDocument) 
      { 

     xsltProcessor=new XSLTProcessor(); 
     xsltProcessor.importStylesheet(xslDoc); 
     result = xsltProcessor.transformToFragment(xmlDoc,document); 
     document.getElementById("result").appendChild(result); 




      } 
    } 
    catch(e){ 
      result += e; 
    } 

} 

}

結果是通過XSL轉換XML文檔文件。 我需要把這段代碼的輸出像純文本一樣放到網頁上。這意味着代碼與HTML標籤。 在這種情況下是目標對象,結果,DIV,它顯示格式文本。就像一個HTML頁面,但我需要顯示帶有標籤的完整文本。

我的想法是把結果放到textarea。它的文本將顯示,但沒有標籤。我tryed使用

var t=document.createTextNode(result); 
document.getElementById("result").appendChild(t); 

但我得到錯誤消息...像[對象DocumentFragment]。 有什麼建議嗎?下一個變量只是我的實驗,不是好的方法。

+0

你是什麼意思把它放在一個變量?你可以將dom元素存儲在變量中。請給我們更多的代碼。你怎麼得到結果? –

回答

0

這是你的意思嗎?

var xml; 
xml = '<someElement>SomeValue</someElement>'; 
document.body.innerHTML += xml; 

或稍多一般:

var xml; 
// function definition 
function addToDOM (xml, output) { 
    output.innerHTML = output.innerHTML || ""; 
    output.innerHTML += xml; 
    return output; 
} 
// example usage 
xml = '<someElement>SomeValue</someElement>'; 
addToDOM(xml, document.body);