好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C# 创建,读取,写入XML文件

Xml文件如下:

?

<?xml version = "1.0" encoding = "utf-8" ?>

<Advertisements>

  <Ad>

  <ImageUrl> 001 .jpg</ImageUrl>

  <NavigateUrl> 001 .aspx</NavigateUrl>

  <Impressions> 10 </Impressions>

  <Keyword>gucas 01 </Keyword>

  </Ad>

  <Ad>

  <ImageUrl> 002 .jpg</ImageUrl>

  <NavigateUrl> 002 .aspx</NavigateUrl>

  <Impressions> 20 </Impressions>

  <Keyword>gucas 02 </Keyword>

  </Ad>

  <Ad>

  <ImageUrl> 003 .jpg</ImageUrl>

  <NavigateUrl> 003 .aspx</NavigateUrl>

  <Impressions> 30 </Impressions>

  <Keyword>gucas 03 </Keyword>

  </Ad>

  <Ad>

  <ImageUrl> 004 .jpg</ImageUrl>

  <NavigateUrl> 004 .aspx</NavigateUrl>

  <Impressions> 40 </Impressions>

  <Keyword>gucas 04 </Keyword>

  </Ad>

  <Ad>

  <ImageUrl> 005 .jpg</ImageUrl>

  <NavigateUrl> 005 .aspx</NavigateUrl>

  <Impressions> 50 </Impressions>

  <Keyword>gucas 05 </Keyword>

  </Ad>

  <Ad>

  <ImageUrl>google.gif</ImageUrl>

  <NavigateUrl>http : //www.google.com</NavigateUrl>

  <Impressions> 30 </Impressions>

  <Keyword>google</Keyword>

  </Ad>

</Advertisements>

对XML文件的操作

?

/// <summary>

  /// 创建XML文件

  /// </summary>

  /// <param name="filename"></param>

  public void CreateXmlFile( string filename)

  {

   XmlDocument xmldoc = new XmlDocument();

   XmlNode node;

   node = xmldoc.CreateXmlDeclaration( "1.0" , "utf-8" , null );

   xmldoc.AppendChild(node);

   XmlNode root = xmldoc.CreateElement( "Users" );

   xmldoc.AppendChild(root);

   CreateNode(xmldoc, root, "UserName" , "zhengyd" );

   CreateNode(xmldoc, root, "Email" , "zhengyd@gucas.ac,cn" );

   CreateNode(xmldoc, root, "Url" , "www.gucas.an,cn" );

   CreateNode(xmldoc, root, "Age" , "27" );

   try

   {

    xmldoc.Save(Server.MapPath(filename));

    Response.Write( "创建XML文件myxml.xml成功!" );

   }

   catch (Exception ex)

   {

    Response.Write(ex.Message);

   }

  }

  /// <summary>

  /// 写入XML文件

  /// </summary>

  /// <param name="file"></param>

  public void WriteXmlFile( string file)

  {

   XmlDocument xmdoc = new XmlDocument();

   try

   {

    xmdoc.Load(Server.MapPath(file));

    XmlNode root = xmdoc.SelectSingleNode( "Advertisements" );

    if (root != null )

    {

     XmlNode node = xmdoc.CreateNode(XmlNodeType.Element, "Ad" , null );

     CreateNode(xmdoc, node, "ImageUrl" , "google.gif" );

     CreateNode(xmdoc, node, "NavigateUrl" , "#0cf618c9f4c1fce4e05973e50f15ee2 c# " );

     CreateNode(xmdoc, node, "Impressions" , "30" );

     CreateNode(xmdoc, node, "Keyword" , "google" );

     root.AppendChild(node);

    }

    xmdoc.Save(Server.MapPath(file));

    Response.Write( "写入XML文件XMLFile.xml成功。<br>" );

   }

   catch (Exception ex) {

    Response.Write(ex.Message);

   }

  }

  /// <summary>

  /// 创建节点

  /// </summary>

  /// <param name="xmldoc"></param>

  /// <param name="parentnode"></param>

  /// <param name="name"></param>

  /// <param name="value"></param>

  public void CreateNode(XmlDocument xmldoc, XmlNode parentnode, string name, string value)

  {

   XmlNode node = xmldoc.CreateNode(XmlNodeType.Element, name, null );

   node.InnerText = value;

   parentnode.AppendChild(node);

  }

  /// <summary>

  /// 读取XML文件

  /// </summary>

  /// <param name="file"></param>

  private void ReadFile( string file)

  {

   XmlDocument xmldoc = new XmlDocument();

   try

   {

    xmldoc.Load(Server.MapPath(file));

    XmlNode node = xmldoc.SelectSingleNode( "Advertisements" );

    if (node != null )

    {

     TreeNode root = new TreeNode();

     root.Text = node.Name;

     tvXml.Nodes.Add(root);

     foreach (XmlNode xnode in xmldoc.SelectNodes( "Advertisements/Ad" ))

     {

      TreeNode tnode = new TreeNode();

      tnode.Text = Server.HtmlEncode( "<" + xnode.Name + ">" );

      root.ChildNodes.Add(tnode);

       foreach (XmlNode xcnode in xnode.ChildNodes)

       {

        TreeNode tcnode = new TreeNode();

        tcnode.Text = Server.HtmlEncode( "<" + xcnode.Name + ">" + xcnode.InnerText + "</" + xcnode.Name + ">" );

        tnode.ChildNodes.Add(tcnode);

       }

      TreeNode ttnode = new TreeNode();

      ttnode.Text = Server.HtmlEncode( "</" + xnode.Name + "" );

      root.ChildNodes.Add(ttnode);

     }

     TreeNode tpnode = new TreeNode();

     tpnode.Text = Server.HtmlEncode( "</" + node.Name + ">" );

     tvXml.Nodes.Add(tpnode);

    }

   }

   catch (Exception ex)

   {

    Response.Write(ex.Message);

   }

  }

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持服务器之家!

原文链接:http://blog.csdn.net/lengjing126/article/details/4438042

dy("nrwz");

查看更多关于C# 创建,读取,写入XML文件的详细内容...

  阅读:51次