无法在WinXp上写入XML文件

时间:2013-07-01 07:52:22

标签: c# xml backgroundworker

我的程序出了问题:运行Win XP,不可能在backgroundworker的doWork()中写一个XML文件;

这是BW中的代码:

try
{
    updateUI(file.FullName, 2);
    writeToXml(file, e.Argument.ToString());
}

创建xml文件:

XDocument xmlDocVideoList = new XDocument(
                                 new XDeclaration("1.0", "utf-8", "yes"),
                                 new XComment("..."),
                                 new XElement(/*ns+*/"VideoList"));
xmlDocVideoList.Save(saveFileDialog1.FileName);

writeToXml方法:

 public void writeToXml(FileInfo file, string path)
    {
        fileCounterMapped++;
        Video temp = new Video();
        temp.nameFile = file.Name;
        temp.nameVideo = temp.processNameFile(temp.nameFile);
        temp.path = file.Directory.FullName;

        XmlDocument doc = new XmlDocument();
        doc.Load(path);

        XmlNode node = doc.CreateNode(XmlNodeType.Element, "Video", null);
        XmlNode subnodeFN = doc.CreateNode(XmlNodeType.Element, "FileName", null);
        XmlNode subnodeVN = doc.CreateNode(XmlNodeType.Element, "VideoName", null);
        XmlNode subnodePATH = doc.CreateNode(XmlNodeType.Element, "Path", null);

        subnodeFN.InnerText = temp.nameFile;
        subnodeVN.InnerText = temp.nameVideo;
        subnodePATH.InnerText = temp.path;

        node.AppendChild(subnodeFN);
        node.AppendChild(subnodeVN);
        node.AppendChild(subnodePATH);


        doc.DocumentElement.AppendChild(node);

        doc.Save(path);
    }

在我的电脑中,运行Win7这个工作,但在所有使用WinXP的电脑都无法正常工作。 在所有计算机中,我使用VisualStudio 10 Express,我有FrameWork 4。

提前致谢!

1 个答案:

答案 0 :(得分:0)

XDocument对象属于较新版本的.Net,可能只尝试使用XMLDocument。

如果您使用的是.NET 3.0或更低版本,则必须使用XmlDocument,即经典的DOM API ...也许xp不支持此功能,或者您可能需要更新Windows。