私は次のXMLファイルを持っています:
<WindowEntries>
<WindowEntry>
<Name>maduranga</Name>
<View>TRN_UNIT</View>
<LU>TrnUnit</LU>
<DefaultWindowText />
<Flags>0</Flags>
</WindowEntry>
<WindowEntry>
<Name>tbwBrandOverView</Name>
<View>TRN_BRAND</View>
<LU>TrnBrand</LU>
<DefaultWindowText />
<Flags>0</Flags>
</WindowEntry>
<WindowEntries>
そのxml用にTreeViewを開発しました。ユーザーが編集のためにツリービューから1つのWindowEntryを選択した後、およびユーザーがエントリで1つのエントリ値を選択した後、編集のためにテキストボックスをロードします。ユーザーが編集を終えたら、それを保存します。保存後、xmlファイルは次のようになります。
<WindowEntries>
<WindowEntry>
<Name>maduranga</Name>
<View>maduranga</View>
<LU>maduranga</LU>
<Flags>maduranga</Flags>
</WindowEntry>
<WindowEntry>
<Name>tbwBrandOverView</Name>
<View>TRN_BRAND</View>
<LU>TrnBrand</LU>
<Flags>0</Flags>
</WindowEntry>
**<WindowEntry>
<Name>newvalue</Name>
<View>newvalue</View>
<LU>newvalue</LU>
<Flags>newvalue</Flags>
</WindowEntry>**
<WindowEntries>
しかし、「madurang」の値を「newvalue」で上書きしたい。これは私がその編集に使用するコードです。
XmlTextReader reader = new XmlTextReader("component.xml");
XmlDocument doc = new XmlDocument();
doc.Load(reader);
reader.Close();
XmlNode currNode;
XmlDocumentFragment docFrag = doc.CreateDocumentFragment();
try
{
string path3 = treeView1.SelectedNode.FullPath.ToString();
docFrag.InnerXml = "<WindowEntry>" +
"<Name>" + textBox7.Text + "</Name>" +
"<LU>" + textBox8.Text + "</LU>" +
"<View>" + textBox9.Text + "</View>" +
"<Flags>" + textBox10.Text + "</Flags>" +
"<OverrideDefaultHome>" + textBox11.Text + "</OverrideDefaultHome>" +
"<AssociatedHomepage>" + textBox12.Text + "</AssociatedHomepage>" +
"</WindowEntry>";
currNode = doc.SelectSingleNode("Component/WindowEntries");
currNode.AppendChild(docFrag);
doc.Save("component.xml");
}