以下是xml文件的一个节点,我想修改<Name>小王</Name>为<Name>小张</Name>,该怎么修改呢,我写了一种方法,有两个循环,感觉代码有些麻烦,所以请大家给个指点啊,谢谢了<Persons>
<Person>
<ID>12345678</ID>
<Name>小王</Name>
<Department>技术中心</Department>
<Position>职员</Position>
<Password>12345678</Password>
<Group>项目</Group>
<Action>设计</Action>
</Person>
.....
.....
</Persons>
<Person>
<ID>12345678</ID>
<Name>小王</Name>
<Department>技术中心</Department>
<Position>职员</Position>
<Password>12345678</Password>
<Group>项目</Group>
<Action>设计</Action>
</Person>
.....
.....
</Persons>
解决方案 »
- winform智能开发 tabpage..
- C# webbrowser控件模拟点击
- 在后台数据库更新不了——急求,明天就要交了,快来不及了
- 在未安装.net的机器上怎样设定错误提示?
- AxSpreadsheet控件 新增行 急等高手回答
- 写好的Win Service 安装之后不能启动!!!!急
- (100分)怪事,晕了
- 大家帮我处理一个数据查询问题,谢谢
- [高分求助]C# 网络编程异常The request was aborted:The request was cancelled.
- 求一个比较好的MVC 权限控制的思路或者核心代码
- **DataGrid问题,如何格式化输出指定小数位
- 求助各大高手,小弟有个新手问题:如何获得DataGridView中选中的行
{
if(item["ID"].InnerText == "12345678")item["Name"].InnerText = "小张";
}xml菜鸟...
XmlDocument dc;
XmlNodeList xnl = dc.GetElementsByTagName("Name");
for (int i = 0; i < xnl.Count; i++)
{
if (xnl[i].InnerText == "小王")
{
xnl[i].InnerText = "小张";
}
}
//保存
xml.LoadXml(文档载入);
XmlElement root=xml.DocumentElement;
XmlNodeList nodes=root.GetElementsByTagName("Person");
for(int i=nodes.Count-1;i>=0;i--)
{
if(nodes[i].ChildNodes[1].InnerText=="小王") //我觉得判断id比较好
{
nodes[i].ChildNodes[1].InnerText="小张";
} }
直接string替换
string xmlstr;
xmlstr = xmlstr.Replace("<Name>小王 </Name>","<Name>小张 </Name>");
xmldoc.LoadXml(@"
<Persons>
<Person>
<ID>12345678</ID>
<Name>小王</Name>
<Department>技术中心</Department>
<Position>职员</Position>
<Password>12345678</Password>
<Group>项目</Group>
<Action>设计</Action>
</Person>
</Persons>
");
string strId = "12345678";
XmlNode xmlPerson = xmldoc.SelectSingleNode("//Person[ID=" + strId + "]/Name");
xmlPerson.InnerText = "小张";