从xml文件中选择节点并更新它-C#console

时间:2016-09-22 05:58:20

标签: c# xml

我想更新xml文件中的节点。我想检查loginid并将其递增1.我一直在尝试这样的事情,但是xml文件没有得到更新。

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("tempLogonoff.xml");
XmlNode node = xmlDoc.SelectSingleNode("//tblTemp/Login/LoginId");
node.Attributes[0].Value = (LoginId + 1).ToString();
xAnd I have a following Xml File:mlDoc.Save("tempLogonoff.xml"); 

我有以下Xml代码

<?xml version="1.0" encoding="utf-8"?>
<tblTemp>
  <Login>
    <LoginId>3</LoginId>
    <AgentId>2</AgentId>
    <OracleId>763887</OracleId>
  </Login>
  <Login>
    <LoginId>2</LoginId>
    <AgentId>1</AgentId>
    <OracleId>763602</OracleId>
  </Login>
</tblTemp>
因此,如果我的agentId发生更改,则该登录ID应该更改。

我得到一个例外 - “传入的索引超出范围。”你能帮我解决这个问题。

1 个答案:

答案 0 :(得分:1)

您可以尝试设置节点的InnerText而不是其属性(因为它没有任何属性):

XmlNode node = xmlDoc.SelectSingleNode("//tblTemp/Login/LoginId");
node.InnerText = (LoginId + 1).ToString();