C#对XML的操作,利用DataSet对XML进行操作。

ContractedBlock.gif ExpandedBlockStart.gif DataSet对XML进行生成、更新、添加、删除等操作
None.gif            //创建一个数据集
None.gif
            DataSet dsTradeNews = new DataSet();
None.gif            
//读取XML文件用于绑定到DataGrid上
None.gif
            dsTradeNews.ReadXml(@"D:\CorpInfo.xml",XmlReadMode.Auto);
None.gif
None.gif            
//创建一个表
None.gif
            DataTable dtTradeNews = new DataTable("TradeNews");
None.gif            
//创建列
None.gif
            DataColumn dcSimpleName = new DataColumn("SimpleName",Type.GetType("System.String"));
None.gif            DataColumn dcCode 
= new DataColumn("Code",Type.GetType("System.String"));
None.gif            
//将列加入到表中
None.gif
            dtTradeNews.Columns.Add(dcSimpleName);
None.gif            dtTradeNews.Columns.Add(dcCode);
None.gif            
//创建行并为每列赋值
None.gif
            DataRow drTradeNew = dtTradeNews.NewRow();
None.gif            drTradeNew[
"SimpleName"= "公司";
None.gif            drTradeNew[
"Code"=  "888888";
None.gif            
//将表加入数据集中
None.gif
            dsTradeNews.Tables.Add(dtTradeNews);
None.gif            
//生成XML文件或覆盖XML文件
None.gif
            try
ExpandedBlockStart.gifContractedBlock.gif            
dot.gif{
InBlock.gif                dsTradeNews.WriteXml(
@"D:\CorpInfo.xml");
ExpandedBlockEnd.gif            }

None.gif            
catch(Exception ex)
ExpandedBlockStart.gifContractedBlock.gif            
dot.gif{
InBlock.gif                Response.Write(
"生成XML文件产生异常:" + ex.Message);
InBlock.gif                
return ;
ExpandedBlockEnd.gif            }

None.gif            dgTradeNews.DataSource 
= dsTradeNews.Tables["TradeNews"].DefaultView;
None.gif            dgTradeNews.DataBind();

另一种操作方式:
ContractedBlock.gif ExpandedBlockStart.gif 利用:doc、XmlNode
None.gif        //创建XmlDocument的实例
None.gif
        private XmlDocument doc = new XmlDocument();
None.gif        
private XmlElement X_TR;
None.gif        
private XmlElement X_Script;
None.gif        
private XmlElement X_Connection;
None.gif        
private XmlElement X_Time;
None.gif        
private XmlElement X_Name;
None.gif        
private XmlElement X_Path;
None.gif
None.gif        
private XmlText X_Script_Text;
None.gif        
private XmlText X_Connection_Text;
None.gif        
private XmlText X_Time_Text;
None.gif        
private XmlText X_Name_Text;
None.gif        
private XmlText X_Path_Text;
None.gif
None.gif        
const string cfileName = "XMLnote.xml";
None.gif        
const string XmlFile = "ScriptMain";
None.gif        
const string XmlTab = "TAB";
None.gif        
const string XmlConnection = "Connection";
None.gif        
const string XmlScript = "Script";
None.gif        
const string XmlPath = "Path";
None.gif        
const string XmlName = "Name";
None.gif        
const string XmlTime = "Time";
None.gif
None.gif        
//XML文档起点
None.gif
        private string XMLOP = "";            
None.gif
None.gifdoc.Load(cfileName);
None.gif            XmlNode Root 
= doc.DocumentElement;
None.gif            
string XMLstart = GetXMLOP();
None.gif            XmlNode XNode 
= doc.SelectSingleNode(XMLstart);
None.gif            
if(XNode != null)
ExpandedBlockStart.gifContractedBlock.gif            
dot.gif{    
InBlock.gif                
//产生行元素
InBlock.gif
                X_TR = doc.CreateElement("",XmlTab,"");
InBlock.gif                
//产生Script元素
InBlock.gif
                X_Connection = doc.CreateElement("",XmlConnection,"");
InBlock.gif                X_Script 
= doc.CreateElement("",XmlScript,"");
InBlock.gif                X_Path 
= doc.CreateElement("",XmlPath,"");
InBlock.gif                X_Name 
= doc.CreateElement("",XmlName,"");
InBlock.gif                X_Time 
= doc.CreateElement("",XmlTime,"");
InBlock.gif                
//产生该元素的文本
InBlock.gif
                X_Connection_Text = doc.CreateTextNode(XMLLogList.Connection);
InBlock.gif                X_Script_Text 
= doc.CreateTextNode(XMLLogList.Script);
InBlock.gif                X_Path_Text 
= doc.CreateTextNode(XMLLogList.Path);
InBlock.gif                X_Name_Text 
= doc.CreateTextNode(XMLLogList.Name);
InBlock.gif                X_Time_Text 
= doc.CreateTextNode(XMLLogList.Time.ToString());
InBlock.gif                
//向Script元素添加文本
InBlock.gif
                X_Connection.AppendChild(X_Connection_Text);
InBlock.gif                X_Script.AppendChild(X_Script_Text);
InBlock.gif                X_Path.AppendChild(X_Path_Text);
InBlock.gif                X_Name.AppendChild(X_Name_Text);
InBlock.gif                X_Time.AppendChild(X_Time_Text);
InBlock.gif                
//将Script元素添加到行节点下
InBlock.gif
                X_TR.AppendChild(X_Connection);
InBlock.gif                X_TR.AppendChild(X_Script);
InBlock.gif                X_TR.AppendChild(X_Path);
InBlock.gif                X_TR.AppendChild(X_Name);
InBlock.gif                X_TR.AppendChild(X_Time);
InBlock.gif                
//将行元素添加到父节点下
InBlock.gif
                XNode.AppendChild(X_TR);    
ExpandedBlockEnd.gif            }

None.gif            doc.Save(cfileName);


另一种操作XML的方式:
ContractedBlock.gif ExpandedBlockStart.gif 利用FileStream、XmlTextWriter操作XML文件
None.gif                //第一次生成XML记录文件
None.gif
                FileStream XMLStream = new FileStream(cfileName,FileMode.CreateNew);
None.gif                XmlTextWriter XmlWrite 
= new XmlTextWriter(XMLStream,Encoding.Unicode);
None.gif                XmlWrite.Formatting 
= Formatting.Indented;
None.gif                
try
ExpandedBlockStart.gifContractedBlock.gif                
dot.gif{
InBlock.gif                    XMLBuilWriter(XmlWrite,XMLLogList);
InBlock.gif                    XmlWrite.Close();
ExpandedBlockEnd.gif                }

None.gif                
catch(Exception ex)
ExpandedBlockStart.gifContractedBlock.gif                
dot.gif{
InBlock.gif                    cRemark 
= ex.Message.ToString();
ExpandedBlockEnd.gif                }

None.gif
None.gif
None.gif
//开始创建XML文件
None.gif
        static void XMLBuilWriter(XmlWriter Write,LogListAttribute XMLLogList)
ExpandedBlockStart.gifContractedBlock.gif        
dot.gif{
InBlock.gif            Write.WriteStartElement(XmlFile);
InBlock.gif            Write.WriteStartElement(XmlTab);
InBlock.gif            Write.WriteElementString(XmlConnection,XMLLogList.Connection);
InBlock.gif            Write.WriteElementString(XmlScript,XMLLogList.Script);
InBlock.gif            Write.WriteElementString(XmlPath,XMLLogList.Path);
InBlock.gif            Write.WriteElementString(XmlName,XMLLogList.Name);
InBlock.gif            Write.WriteElementString(XmlTime,DateTime.Now.ToLongTimeString());
InBlock.gif            Write.WriteEndElement();
InBlock.gif            Write.WriteEndElement();
ExpandedBlockEnd.gif        }

转载于:https://www.cnblogs.com/hanguoji/archive/2006/12/20/598452.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值