Я хочу увеличить версию файла. Я объявил статическую переменную 10, и я хочу, чтобы увеличить с 10 до 11, 12, 13 ..... каждый раз при нажатии кнопки сохранитьFile Increment возвращает null со статической переменной
XML файл:
<resheader name="version">
<value>10</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
Метод:
public void VesrionInc()
{
lblversion.Visible = true;
int updateversion = 1000;
updateversion++;
XmlDocument _doc = new XmlDocument();
string xmlcontents = _doc.InnerXml;
lblversion.Text = updateversion.ToString();
XmlNode root = _doc.DocumentElement;
XmlNode myNode = root.SelectSingleNode("descendant::resheader[@name = 'version']/value");
myNode.InnerText = updateversion.ToString();
lblversion.Text = updateversion.ToString();
}
когда я отладки он показывает прирост, но, когда он читает этот код ниже. он ломается во второй строке, он стал нулевым, и когда я нажимаю F5, скажем, ссылка объекта не установлена на экземпляр объекта.
XmlNode root = _doc.DocumentElement;
XmlNode myNode = root.SelectSingleNode("descendant::resheader[@name = 'version']/value"); //it breaks here
myNode.InnerText = updateversion.ToString();
lblversion.Text = updateversion.ToString();
кнопку Сохранить:
private void btnSave_Click_1(object sender, EventArgs e)
{
int iversion = Convert.ToInt32(lblversion.Text.ToString());
XmlDocument doc = new XmlDocument();
doc.Load(outputFilePath);
XmlNode root = doc.DocumentElement;
XmlNodeList CnodesList = root.SelectNodes("descendant::data");
XmlNode myNode = root.SelectSingleNode("descendant::resheader[@name = 'version']/value");
//myNode.InnerText = iversion.ToString(lblversion.Text);
myNode.InnerText = iversion.ToString();
lblversion.Text = iversion.ToString();
}