当我尝试使用 C# 和 XMLDocument 解析示例 XML 文件时,它会抛出 IO.IOException 并说它没有找到注册表项。您可以在此处找到示例 XML 文件。(这是我在 InfoFileURL 中提供该工具的链接。有人解决了这个问题吗?
xmlDoc.Load(InfoFileURL);
if (xmlDoc.SelectSingleNode("Program/Files").HasChildNodes) // IOException
{
foreach (XmlNode node in xmlDoc.SelectNodes("Program/Files/File"))
{
if (int.Parse(node.Attributes["Date"].Value) > VersionOld)
{
NewFile newfile = new NewFile();
newfile.FilePath = node.Attributes["Path"].Value;
newfile.Hash = node.Attributes["Hash"].Value;
newfile.Date = int.Parse(node.Attributes["Date"].Value);
newfile.WebPath = node.InnerText;
NewFiles.Add(newfile);
}
}
}
---------------------------------------------------------------------------------
Exception Detail:
System.IO.IOException ist aufgetreten.
HResult=2
Message=Der angegebene Registrierungsschlüssel ist nicht vorhanden.
Source=mscorlib
StackTrace:
bei Microsoft.Win32.RegistryKey.Win32Error(Int32 errorCode, String str)
InnerException:
---------------------------------------------------------------------------------
XML-File:
http://neolegends.tk/programs/test/updates.xml
<Program>
<Changes>
<Change Date="20130111">Heyo Mofo</Change>
</Changes>
<Files>
<File Date="20130111" Hash="977d6a6c1028c1dff3b0a1a7e1604d033b7a14a7" Path="ni94512_1_DB.7z">http://neolegends.tk/programs/test/data/ni94512_1_DB.7z</File>
<File Date="20130111" Hash="ef520d82094153930247b0d75144b77bee6e40ea" Path="Osmos.sta">http://neolegends.tk/programs/test/data/Osmos.sta</File>
</Files>
<Deletions>
<Deletion Date="20130111">HITMÄN.mp3</Deletion>
</Deletions>
</Program>