我想增加文件版本。我已经宣布的10静态变量,我想它的值从10到11,12,13 .....每次当您单击保存文件增量返回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();
}