XML创建、读、写操作



Create:

int nFQ;
   XmlDocument doc = new XmlDocument();
   XmlAttribute newAtt;


   //定义XML文档头文件
   XmlDeclaration dec = doc.CreateXmlDeclaration("1.0",null,null);
   doc.AppendChild(dec);
   XmlElement docRoot = doc.CreateElement("Orders");
   doc.AppendChild(docRoot);

   for(int i=0;i<12;i++)
   {
    XmlNode Order = doc.CreateElement("Order");
    newAtt = doc.CreateAttribute("Quantity");
    nFQ = 10*i +i;
    newAtt.Value = nFQ.ToString();
    Order.Attributes.Append(newAtt);
    docRoot.AppendChild(Order);
   }
   
   // 保存XML文档
   string strPath = Server.MapPath("OutDocument.XML");
   doc.Save(strPath); 

Read:

一:   

// 创建XmlDocument类的实例
   XmlDocument doc = new XmlDocument();
   ArrayList NodeValues = new ArrayList();
   // 把people.xml文件读入内存,形成一个DOM结构
   doc.Load( Server.MapPath("people.xml") );
   XmlNode root = doc.DocumentElement;
   foreach( XmlNode personElement in root.ChildNodes )
                //吧节点加入数组
    NodeValues.Add(personElement.FirstChild.Value);
            //在ListBox中显示
   XMLNodeListBox.DataSource = NodeValues;
   XMLNodeListBox.DataBind();

二:

//读取XML到DataSet
DataSet ds = new DataSet();
ds.ReadXml(Server.MapPath(".//db//dbGuest.xml"));
GridView1.DataSource = ds.Tables[0].DefaultView;
GridView1.DataBind();

Write:

// 创建一个表示所要生成的XML文件路径的字符串。如果该路径指向NTFS分区,则需要相关的访问权限。
   string filename = XMLFilePathTextBox.Text;
   // 创建一个写入XML数据的文件流
   System.IO.FileStream myFileStream = new System.IO.FileStream(filename, System.IO.FileMode.Create);
   // 使用文件流对象创建一个XmlTextWriter对象
   XmlTextWriter myXmlWriter = new XmlTextWriter(myFileStream, System.Text.Encoding.Unicode);

   myXmlWriter.Formatting = Formatting.Indented;

   try
   {
    // 使用WriteXMLbyXmlWriter方法把数据写入XmlTextWriter对象中
    WriteXMLbyXmlWriter(myXmlWriter, "MSFT", 74.5, 5.5, 49020000);
    // 通过Close方法的调用,XmlTextWriter对象的数据最终写入XML文件
    myXmlWriter.Close();
    Page.Response.Write(" 生成XML文档成功!");
   }
   catch
   {
    Page.Response.Write("生成 XML文档失败!请检查路径是否正确,以及是否有写入权限。");
   }

  static void WriteXMLbyXmlWriter(XmlWriter writer, string symbol, double price, double change, long volume)
  {
   writer.WriteStartElement("Stock");
   writer.WriteAttributeString("Symbol", symbol);
   writer.WriteElementString("Price", XmlConvert.ToString(price));
   writer.WriteElementString("Change", XmlConvert.ToString(change));
   writer.WriteElementString("Volume", XmlConvert.ToString(volume));
   writer.WriteEndElement();
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值