利用firefox(17.01),我从上传的.csv文件生成xml代码。之后,此代码将转换为xhtml,但在此之前,我需要创建有效的xml文件。
我的整个代码是
var parser = new DOMParser();
var xml_doc = parser.parseFromString(xml_code,'text/xml');
var xslhttp = new XMLHttpRequest();
xslhttp.open("GET",xsl_code,false);
xslhttp.send();
var xsl_doc = xslhttp.responseXML;
var xsltProcessor = new XSLTProcessor();
xsltProcessor.importStylesheet(xsl_doc);
var xhtml_code = xsltProcessor.transformToFragment(xml_doc,document);
它可以正常工作,除非我处理大文件。特别是,当xsl_code与112.039.355(xml_code.length)一样大时,脚本失败。
错误消息是
NS_ERROR_XPC_BAD_CONVERT_JS: Could not convert JavaScript argument arg 0 [nsIDOMParser.parseFromString]
有没有解释?使用firefox的任何限制?我知道如果我从文件中删除内容,最终将正确生成xml_doc
非常感谢
答案 0 :(得分:0)
使用childNodes
的测试来查看文档是否超过Firefox设置的4096字符限制。如果是这样,请使用循环来连接childNodes:
var nodes = xml_code.childNodes;
var xml_string = '';
var xml_doc;
if (nodes.length > 1)
{
for (var i = 0; i < nodes.length; i++)
{
xml_string += nodes[i].nodeValue;
}
}
else
{
xml_string = xml_code;
}
with (new DOMParser() )
{
xml_doc = parseFromString(xml_string, "application/xml")
}
<强>参考强>