C#如何[添加][删除][修改]XML中的记录
XML:如下
<?xml version="1.0" encoding="utf-8" ?>
<NEWDATA>
<DATA>
<ID>1</ID>
<NAME>user1</NAME>
<Explain><![CDATA[此处添加说明...]]></Explain>
</DATA>
<ID>2</ID>
<NAME>user2</NAME>
<Explain><![CDATA[此处添加说明...]]></Explain>
</DATA>
<NEWDATA>
问题:
1)[删除]<ID>1</ID>的记录并保存
2)[修改]]<ID>2</ID>记录的
<Explain><![CDATA[此处添加说明...]]></Explain>
为<Explain><![CDATA[生日:1978-5-8 姓名:哈哈]]></Explain>并保存
3)我要[添加]一个
<DATA>
<ID>3</ID>
<NAME>user3</NAME>
<Explain><![CDATA[生日: 1977-5-8 姓名:FlashApp]]></Explain>
</DATA>
的记录并保存
-------------实现代码如下-------------
XmlDocument xmldoc ;
XmlNode xmlnode ;
XmlElement xmlelem ;
XmlElement xmlelem1 ;
XmlText xmltext ;
XmlTextWriter XMLWriter;
//添加节点
//初始化
xmldoc = new XmlDocument ();
xmldoc.Load ("Data.xml");
xmlnode = xmldoc.DocumentElement;
//添加一个名为DATA的子节点
xmlelem = xmldoc.CreateElement ("DATA") ;
//此子节点下的元素
xmlelem1 = xmldoc.CreateElement ("ID") ;
xmltext = xmldoc.CreateTextNode ("3") ;
xmlelem1.AppendChild ( xmltext ) ;
xmlelem.AppendChild ( xmlelem1 ) ;
xmlelem1 = xmldoc.CreateElement ("NAME") ;
xmltext = xmldoc.CreateTextNode ("user3") ;
xmlelem1.AppendChild ( xmltext ) ;
xmlelem.AppendChild ( xmlelem1 ) ;
xmlelem1 = xmldoc.CreateElement ("Explain") ;
xmltext = xmldoc.CreateTextNode ("><![CDATA[生日: 1977-5-8 姓名:FlashApp]]>") ;
xmlelem1.AppendChild ( xmltext ) ;
xmlelem.AppendChild ( xmlelem1 ) ;
//结束此子节点
xmldoc.DocumentElement.AppendChild(xmlelem);
//保存
xmldoc.Save("Data.xml");
//删除节点
XmlDataDocument dom=new XmlDataDocument();
dom.Load ("Data.xml");
XmlElement root = dom.DocumentElement;
XmlNode node = root.SelectSingleNode("//DATA[MID=1]"); //查找要删除的节点
if(node != null)//找到了,将其删除
{
node.RemoveAll();
}
//保存
dom.Save("Data.xml");
//修改就更容易了
代码同上,找到要修改的节点后
if(node != null)
{
node["Explain"].InnerText = "<![CDATA[生日:1978-5-8 姓名:哈哈]]>"
}
//保存
dom.Save("Data.xml");