2016-09-22 5 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"); 

そして私は、だから私のagentIdが変化した場合、そのログインIDを変更する必要があり、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>

を次のようしています。

私は例外が発生しています - 「渡されたインデックスが範囲外です。」これと同じように私を助けてください。

答えて

1

あなたは(それがいずれかを持っていないとして)ノードのInnerTextではなく、その属性を設定してみてください:

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

Thanks.Itは、ログインIDをインクリメントされ、しかし、私はに関してそれをインクリメントしたいですagentIdおよびoracleIdです。 – tbs

関連する問題