XML中 如何单单添加一个元素

bg4rhm 2008-09-09 04:04:28
如XML:
<?xml version="1.0"?>
<Root>
<Test>
<Abc>
<a>xxxx</a>
<b>xxxx</b>
<c>xxxx</c>
</Abc>
</Test>
</Root>

如何单增加 Abc 下的元素 怎么加 如:

<?xml version="1.0"?>
<Root>
<Test>
<Abc>
<a>xxxx</a>
<b>xxxx</b>
<c>xxxx</c>
<d>xxxx</d> // 我就要加这一项
<e>xxxx</e>
.
.
</Abc>
</Test>
</Root>
...全文
95 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
ProjectDD 2008-09-09
  • 打赏
  • 举报
回复
有关更多讯息请参阅MSDN,帮助,特别是DOM ,XmlDocument 等章节..
ProjectDD 2008-09-09
  • 打赏
  • 举报
回复
XmlDocument xd = new XmlDocument();
xd.Load("TestRes\\LocalRes\\test.xml");
var v = xd.CreateElement("c");
v.InnerText = "222";
foreach (XmlNode item in xd.DocumentElement.ChildNodes)
{
if (item.Attributes["id"].Value == "2")
{
item.FirstChild.AppendChild(v);
MessageBox.Show("添加操作执行完毕!");
}
}
xd.Save("TestRes\\LocalRes\\test.xml");

注:以上关键代码,截取自本主题的针对性测试,该测试已经顺利完成.
ProjectDD 2008-09-09
  • 打赏
  • 举报
回复

System.Xml.XmlDocument来做
假设你的目标XML文件路径是 C:\\xx.xml
关键代码如下:

XmlDocument xd = new XmlDocument();//声明一个XML文档对象
xd.Load("C:\\xx.xml");//载入目标XML文件

XmlElement xe=xd.CreateElement("d");//增加一个元素
xe.InnerText="xxxx";
xd.DocumentElement.FirstChild.FirstChild.AppentChild(xe);
//

//注如果你要想插入到XML文档中某复杂位置处,那么你必须先要导航到该位置

<?xml version="1.0"?>
<Root>
<Test id="1">
<Abc>
<a>xxxx </a>
<b>xxxx </b>
<c>xxxx </c>
</Abc>
</Test>
<Test id="2">
<Abc>
<a>yyy </a>
<b>yyy </b>
<c>yyy </c>
<c>222 </c> //例如这里为新增元素时
</Abc>
<Abc>
<a>zzz </a>
<b>zzz </b>
<c>zzz </c>
</Abc>
</Test>
</Root>

例如上述较为复杂的XML片断时的某处时

XmlDocument xd = new XmlDocument();//声明一个XML文档对象
xd.Load("C:\\xx.xml");//载入目标XML文件

XmlElement xe=xd.CreateElement("c");//增加一个元素
xe.InnerText="222";

foreach(var item in xd.ChildNodes)
{

}

暂时把这个问题留到楼下..

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧