Vista Gadget - 写入XML文件

时间:2010-09-29 18:31:16

标签: javascript xml windows-desktop-gadgets

我已经构建了一个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");

1 个答案:

答案 0 :(得分:1)

在小工具中,部分限定的文件名将评估为x-gadget:///协议。 ActiveXObject 对此协议一无所知,因此他们不知道放置文件的位置并且它们会抛出错误。使用完全限定的文件名,它应该可以正常工作:

settingsxmldoc.save(System.Gadget.path + "\\settings.xml");