1

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

1 回答 1

1

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

settingsxmldoc.save(System.Gadget.path + "\\settings.xml");
于 2010-10-03T14:07:43.727 回答