XMLDocument操作XML摘选

本文介绍了使用C#语言向XML文件添加数据的三种方法:利用XmlDocument进行简单操作,使用XmlReader与XmlWriter实现高效处理,以及通过DataSet适用于特定场景。示例代码展示了如何创建XML元素、属性及文本节点,并保存到文件。

 

C#向XML中添加资料的方法

主要3种方法

DataSet.ReadXML  操作方便

XMLDocument      操作方便

XMLReader,XMLWriter  操作复杂 效率最高

 

使用XmlDocument是最简单的,不过效率不高,

使用XmlReader和XmlWriter处理效率比较高,不过不够灵活,实现相对复杂。

使用DataSet或DataTable只是一种投机取巧的方式,不适合于复杂的Xml文档。

 

 

 

 

 

 

 

_xmlD = new XmlDocument(); 
_xmlD.Load(@"D:/Project/20080303-01/20080303-01/CSDN.xml"); 

XmlElement _xe = _xmlD.CreateElement("User"); 
//得到最上面的结点类似顶级结点 
XmlNode _topxn = _xmlD.SelectSingleNode("dbGuest"); 

XmlElement _xeName = _xmlD.CreateElement("Name"); 
_xeName.InnerText=(this.txtNewName.Text !="")?this.txtNewName.Text:"Kevin"; 
XmlAttribute _xmlA = _xmlD.CreateAttribute("Writer"); 
_xmlA.InnerText = "Kevin"; 
_xeName.Attributes.Append(_xmlA); 

_xe.AppendChild(_xeName); 

XmlElement _xeCity = _xmlD.CreateElement("City"); 
_xeCity.InnerText =(this.txtNewCity.Text !="")?this.txtNewCity.Text:"Xiamen"; 
_xe.AppendChild(_xeCity); 

XmlElement _xeEmail = _xmlD.CreateElement("Email"); 
_xeEmail.InnerText =(this.txtNewEmail.Text !="")?this.txtNewEmail.Text:"zzyhuian@163.com"; 
_xe.AppendChild(_xeEmail); 

XmlElement _xeTime = _xmlD.CreateElement("Time"); 
_xeTime.InnerText = DateTime.Now.ToString(); 
_xe.AppendChild(_xeTime); 

_topxn.AppendChild(_xe); 

_xmlD.Save(@"D:/Project/20080303-01/20080303-01/Kevin.xml"); 
MessageBox.Show("子结点添加成功!");



    XmlDocument doc = new XmlDocument();
    doc.LoadXml(
       
"<?xml version=/"1.0/" encoding=/"utf-8/" ?>" +
       
"<root>" +
       
"    <name> King of Kings </name>" +
       
"</root>");

    XmlElement idElement
= doc.CreateElement("id");              //
    idElement.AppendChild(doc.CreateTextNode("Alex"));           //
    doc.SelectSingleNode("root").AppendChild(idElement);         //

    MessageBox.Show( doc.OuterXml );

 

using System; 
using System.IO; 
using System.Text; 
using System.Diagnostics; 
using System.Threading; 
using System.Collections; 
using System.Data; 
using System.Xml; 
using System.Management; 
using System.Net; 


namespace Zhzuo 
{ 
class ZZConsole 
{ 
[STAThread] 
static void Main(string[] args) 
{ 
string strXml=" " 
+" " 
+" 
" +" 1111 " +" 2222 " +" 2004 " +" 20040302 " +" " +" " +" " +" 01 " +" 深圳 " +" 0 " +" 110258740824082 " +" " +" "; XmlDocument doc = new XmlDocument(); doc.LoadXml(strXml); string vv; XmlNodeList myNodes = doc.GetElementsByTagName("Version"); vv = myNodes[0].InnerText; //修改 myNodes[0].InnerText = "123455"; Console.WriteLine(vv); myNodes = doc.SelectNodes("//Version"); vv = myNodes[0].InnerText; Console.WriteLine(vv); //修改 myNodes[0].InnerText = "67890"; doc.Save("d://text.xml"); Console.ReadLine(); } } }

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值