我正在将我在C上编写的一个程序移植到Cocoa,我正在尝试找出如何使用XML联机访问我的网站,获取文件并对其进行解析,然后比较版本并弹出一个消息框,询问是否要打开浏览器以进入更新页。
以下是C#的代码:
public void CheckVersion()
{
Version newVersion = null;
string url = "";
string newfeatures = "";
try
{
string xmlURL = "http://myurl.com/version.xml";
XmlRead = new XmlTextReader(xmlURL);
XmlRead.MoveToContent();
string elementName = "";
if ((XmlRead.NodeType == XmlNodeType.Element) &&
(XmlRead.Name == "myProgram"))
{
while (XmlRead.Read())
{
if (XmlRead.NodeType == XmlNodeType.Element)
elementName = XmlRead.Name;
else
{
if ((XmlRead.NodeType == XmlNodeType.Text) &&
(XmlRead.HasValue))
{
switch (elementName)
{
case "version":
newVersion = new Version(XmlRead.Value);
break;
case "url":
url = XmlRead.Value;
break;
case "newfeatures":
newfeatures = XmlRead.Value;
break;
}
}
}
}
}
}
catch (Exception)
{
MessageBox.Show("Could not connect to update checking server.");
}
finally
{
if (XmlRead != null) XmlRead.Close();
}
Version curVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
if (curVersion.CompareTo(newVersion) < 0)
{
string title = "New Version Online";
string question = "Download new version? \nmyProgram Version: " + newVersion.ToString();
if (DialogResult.Yes ==
MessageBox.Show(this, question + "\n\n" + newfeatures, title,
MessageBoxButtons.YesNo,
MessageBoxIcon.Question))
{
System.Diagnostics.Process.Start(url);
}
}
}
我对cocoa还很陌生,大部分的C代码都是一个片段,所以任何建议或帮助都会很好。