JavaScript - 变量和附加

时间:2013-12-12 20:48:12

标签: javascript xml appendchild

我正在编写用于转换XML文档的Web应用程序,我需要将转换脚本的输出附加到任何变量。

我的问题是,输出是DOM,我需要把它变成变量。 我尝试了var x.appendChild(result),但它不起作用。怎么做?

抱歉我的英文不好:)


编辑:

Okey,这是我的代码:

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。它会吵架,文字会显示,但没有标签。我试过用

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

但我收到错误消息......像[object DocumentFragment]。 有任何想法吗?下一个变量只是我的实验,不是好方法。

1 个答案:

答案 0 :(得分: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);