我想更新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>
我得到一个例外 - “传入的索引超出范围。”你能帮我解决这个问题。
答案 0 :(得分:1)
您可以尝试设置节点的InnerText
而不是其属性(因为它没有任何属性):
XmlNode node = xmlDoc.SelectSingleNode("//tblTemp/Login/LoginId");
node.InnerText = (LoginId + 1).ToString();