2016-09-22 3 views
1

Я хочу обновить узел в файле xml. Я хочу проверить loginid и увеличить его на 1. Я пытался что-то вроде этого, но файл xml не обновление.Выберите узел из файла xml и обновите его. C# console

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

Вы можете попробовать установить InnerText узла, а не его атрибуты (как это не имеет какого-либо):

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

Thanks.It является приращением LoginID, Но я хочу, чтобы увеличить его по agentId и oracleId. – tbs

Смежные вопросы