我的程序出了问题:运行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。
提前致谢!
答案 0 :(得分:0)
XDocument对象属于较新版本的.Net,可能只尝试使用XMLDocument。
如果您使用的是.NET 3.0或更低版本,则必须使用XmlDocument,即经典的DOM API ...也许xp不支持此功能,或者您可能需要更新Windows。