C#如何[添加][删除][修改]XML中的记录 http://www.aspcool.com/lanmu/browse1.asp?ID=446&bbsuser=xml 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 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");这样添加,删除,修改就都OK了,希望能你能有所帮助! 首先,你的文档应该是这样:XML:如下<?xml version="1.0" encoding="utf-8" ?><NEWDATA><DATA><ID>1</ID><NAME>user1</NAME><Explain><![CDATA[此处添加说明...]]></Explain></DATA><DATA> ------少了个标记<ID>2</ID><NAME>user2</NAME><Explain><![CDATA[此处添加说明...]]></Explain></DATA><NEWDATA> 我的解答:System.Xml.XmlDocument doc=new System.Xml.XmlDocument();doc.Load("s.xml");//web页用Page.Server.MapPath("s.xml")XmlNode parentnode;parentnode = doc.DocumentElement;//保存根节点XmlNode datanode;//删除一个节点datanode = doc.SelectSingleNode("//NEWDATA//DATA[ID='1']");parentnode.RemoveChild(datanode);//删除该节点doc.Save("s.xml");//增加一个节点XmlElement e_field = vdoc.CreateElement("DATA");e_field.InnerXml = "<ID>3</ID><NAME>user3</NAME><Explain><![CDATA[生日: 1977-5-8 姓名:FlashApp]]></Explain>";parentnode.AppendChild(e_field);doc.Save("s.xml"); //修改datanode = doc.SelectSingleNode("//NEWDATA//DATA[ID='1']");datanode["Explain"].InnerText = "<![CDATA[生日:1978-5-8 姓名:哈哈]]>"doc.Save("s.xml");如果有疑问给我发email:[email protected] //增加一个节点XmlElement e_field = vdoc.CreateElement("DATA");----vdoc应为doc太粗心了?! 冰天雪地跪地求教!!!马上结贴 帮忙看下问题 C#导出excel时如何设置如何进行统计数据 GetTypeHashCode() 没有找到适合的方法来重写,??? 窗口的CLOSED跟CLOSEING时间有什么不同!! 再次放分! 请教 :C# 调用 DLL(C++) 的问题 (关于返回 char[]) 。 谢谢先 [刚才搜索了一下,没有找到答案] 100求解:桌面程序动态生成图片,并保存!!急,分不够再另开贴加 大家幫忙看下哪裡出錯了? 求c#切割excel大文件代码 duwamish怎么不能安装阿? 请问如何设置OleDb的数据库连接池
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");
这样添加,删除,修改就都OK了,希望能你能有所帮助!
XML:如下
<?xml version="1.0" encoding="utf-8" ?>
<NEWDATA>
<DATA>
<ID>1</ID>
<NAME>user1</NAME>
<Explain><![CDATA[此处添加说明...]]></Explain>
</DATA>
<DATA> ------少了个标记
<ID>2</ID>
<NAME>user2</NAME>
<Explain><![CDATA[此处添加说明...]]></Explain>
</DATA>
<NEWDATA> 我的解答:
System.Xml.XmlDocument doc=new System.Xml.XmlDocument();
doc.Load("s.xml");//web页用Page.Server.MapPath("s.xml")
XmlNode parentnode;
parentnode = doc.DocumentElement;//保存根节点
XmlNode datanode;//删除一个节点
datanode = doc.SelectSingleNode("//NEWDATA//DATA[ID='1']");
parentnode.RemoveChild(datanode);//删除该节点
doc.Save("s.xml");//增加一个节点
XmlElement e_field = vdoc.CreateElement("DATA");
e_field.InnerXml = "<ID>3</ID>
<NAME>user3</NAME>
<Explain><![CDATA[生日: 1977-5-8 姓名:FlashApp]]></Explain>";
parentnode.AppendChild(e_field);
doc.Save("s.xml");
//修改
datanode = doc.SelectSingleNode("//NEWDATA//DATA[ID='1']");
datanode["Explain"].InnerText = "<![CDATA[生日:1978-5-8 姓名:哈哈]]>"
doc.Save("s.xml");如果有疑问给我发email:[email protected]
XmlElement e_field = vdoc.CreateElement("DATA");----vdoc应为doc
太粗心了?!