我已经构建了一个Vista小工具。它抓取一个名为“settings.xml”的本地XML文件。 它加载它,我改变了一些东西。然后我调用xmldoc.Save(“settings.xml”)方法,它可以在Internet Explorer中运行它...但是如果你在侧边栏中运行它,它就不会写入XML - 只能从中加载。
如何让它写入XML文件?
settingsxmldoc = new ActiveXObject("Microsoft.XMLDOM");
settingsxmldoc.async = false;
settingsxmldoc.onreadystatechange = readSettingsXML;
settingsxmldoc.load("settings.xml");
if (Favorites.length > 0)
{
for (i = 0; i < Favorites.length; i++)
{
var newElement = settingsxmldoc.createElement("db");
newElement.appendChild(settingsxmldoc.createTextNode(Favorites[i]));
favdbs[0].appendChild(newElement);
}
}
settingsxmldoc.save("settings.xml");
答案 0 :(得分:1)
在小工具中,部分限定的文件名将评估为x-gadget:///
协议。 ActiveXObject 对此协议一无所知,因此他们不知道放置文件的位置并且它们会抛出错误。使用完全限定的文件名,它应该可以正常工作:
settingsxmldoc.save(System.Gadget.path + "\\settings.xml");