XMLDocument操作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、付费专栏及课程。

余额充值