mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Fix handling of native XML files
This commit is contained in:
@@ -252,16 +252,11 @@ namespace DATabase
|
||||
}
|
||||
}
|
||||
|
||||
// Attempt to open the given file
|
||||
try
|
||||
{
|
||||
FileStream fs = File.OpenRead(_filepath);
|
||||
StreamReader sr = new StreamReader(fs);
|
||||
|
||||
// Attempt to load the current file as XML
|
||||
XmlDocument doc = new XmlDocument();
|
||||
try
|
||||
{
|
||||
doc.LoadXml(sr.ReadToEnd());
|
||||
doc.LoadXml(File.ReadAllText(_filepath));
|
||||
}
|
||||
catch (XmlException ex)
|
||||
{
|
||||
@@ -269,8 +264,20 @@ namespace DATabase
|
||||
}
|
||||
|
||||
// Experimental looping using only XML parsing
|
||||
XmlNode node = doc.FirstChild.FirstChild;
|
||||
if (node.Name == "header")
|
||||
XmlNode node = doc.FirstChild;
|
||||
if (node != null && node.Name == "xml")
|
||||
{
|
||||
node = node.NextSibling;
|
||||
}
|
||||
if (node != null && node.Name == "softwarelist")
|
||||
{
|
||||
node = node.NextSibling;
|
||||
}
|
||||
if (node != null && (node.Name == "datafile" || node.Name == "softwarelist"))
|
||||
{
|
||||
node = node.FirstChild;
|
||||
}
|
||||
if (node != null && node.Name == "header")
|
||||
{
|
||||
node = node.NextSibling;
|
||||
}
|
||||
@@ -319,10 +326,10 @@ namespace DATabase
|
||||
gameid,
|
||||
data.Attributes["name"].Value,
|
||||
date,
|
||||
(data.Attributes["size"].Value != "" ? Int32.Parse(data.Attributes["size"].Value) : -1),
|
||||
(data.Attributes["crc"].Value != "" ? data.Attributes["crc"].Value : ""),
|
||||
(data.Attributes["md5"].Value != "" ? data.Attributes["md5"].Value : ""),
|
||||
(data.Attributes["sha1"].Value != "" ? data.Attributes["sha1"].Value : "")
|
||||
(data.Attributes["size"] != null ? Int32.Parse(data.Attributes["size"].Value) : -1),
|
||||
(data.Attributes["crc"] != null ? data.Attributes["crc"].Value : ""),
|
||||
(data.Attributes["md5"] != null ? data.Attributes["md5"].Value : ""),
|
||||
(data.Attributes["sha1"] != null ? data.Attributes["sha1"].Value : "")
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -335,15 +342,6 @@ namespace DATabase
|
||||
node = node.NextSibling;
|
||||
}
|
||||
|
||||
sr.Close();
|
||||
fs.Close();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(ex);
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user