读书人

急求解答javascript对XML文档操作有关

发布时间: 2012-08-03 00:12:14 作者: rapoo

急:求解答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也是无法实现改写。
除非用户对浏览器的设置做了修改。
通常情况下,是将数据回传至服务器进行保存。

读书人网 >XML SOAP

热点推荐