急:求解答javascript对XML文档操作问题(文档里的内容没有变化)
用javascript对XML文档操作,
这是哪里出问题了,文档里的内容并没有改变,,
一个简单代码如下:
<html>
<body>
<script language="JavaScript">
var mydoc=createDoument();//创建一个DOM对象
mydoc.async=false;//设置同步装载
mydoc.load("note.xml");//加载目的xml文档
var root=mydoc.documentElement;//获取根节点元素
document.write(root.xml);//输出根元素下的节点内容
document.write("<br/>-----------------<br/>");
var node=mydoc.createNode(1,"元素名","");//创建新名为“元素名”的新节点
node.text="新节点内容";//创建新节点内容
root.appendChild(node);//添加到根节点之下
window.alert(root.xml);
document.write(root.xml);
function createDoument()//创建支持的MSXml DOM文档对象
{
var aVersions=["MSXml2.DOMDocument.5.0","MSXml2.DOMDocument.4.0",
"MSXml2.DOMDocument.3.0","MSXml2.DOMDocument","Microsoft.XmlDom"];
for(var i=0;i<aVersions.length;i++)
{
try
{
var oXmlDom=new ActiveXObject(aVersions[i]);
return oXmlDom;
} catch (oError){}
}
throw new Error("MSXml is not installed.");
}
</script>
</body>
</html>
是不是只是在临时内存(当我们把一个xml文档加载到内存)改变的原因,
root.xml文档里的内容并没有改变,,
求高手解答。。。。
[解决办法]
function loadXMLDoc(dname)
{
try //Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
catch(e)
{
try //Firefox, Mozilla, Opera, etc.
{
xmlDoc=document.implementation.createDocument("","",null);
}
catch(e) {alert(e.message)}
}
try
{
xmlDoc.async=false;
xmlDoc.load(dname);
return(xmlDoc);
}
catch(e) {alert(e.message)}
return(null);
}
之后用xmlDOM对象操作dom文档 我觉得是
[解决办法]
正如你说的,浏览器对本地访问权限进行了限制,因此,你即使用FSO也是无法实现改写。
除非用户对浏览器的设置做了修改。
通常情况下,是将数据回传至服务器进行保存。