我希望你是我独家记忆

一段永远封存的记忆,随风而去
posts - 263, comments - 31, trackbacks - 0, articles - 3
   :: 首页 :: 新随笔 ::  :: 聚合  :: 管理

XML简单操作

Posted on 2009-07-09 16:28 Hero 阅读(133) 评论(0)  编辑 收藏 引用 所属分类: C#积累

 

  1 using System;
  2 using System.Collections.Generic;
  3 using System.ComponentModel;
  4 using System.Data;
  5 using System.Drawing;
  6 using System.Text;
  7 using System.Windows.Forms;
  8 
  9 using System.Xml;
 10 
 11 namespace XML_print
 12 {
 13     public partial class Form1 : Form
 14     {
 15         public Form1()
 16         {
 17             InitializeComponent();
 18         }
 19 
 20         private void button_Loop_Click( object sender, EventArgs e )
 21         {
 22             //首先清空ListBox
 23             this.listBox_XMLList.Items.Clear();
 24 
 25             //载入XML文档
 26             XmlDocument xmldoc = new XmlDocument();
 27             xmldoc.Load( @"E:\xml.xml" );
 28 
 29             //递归遍历文档
 30             RecurseXmlDocument( (XmlNode)xmldoc.DocumentElement, 0 );
 31         }
 32 
 33         private void RecurseXmlDocument( XmlNode root, int deep )
 34         {
 35             if ( null == root ) return;
 36 
 37             if( root is XmlElement )
 38             {
 39                 //首先打印名字
 40                 listBox_XMLList.Items.Add( root.Name.PadLeft( root.Name.Length + deep ) );
 41 
 42                 //递归调用
 43                 if( root.HasChildNodes )
 44                     RecurseXmlDocument( root.FirstChild, deep + 2 ) ;
 45 
 46                 if ( root.NextSibling != null )
 47                     RecurseXmlDocument( root.NextSibling, deep );
 48             }
 49             else if( root is XmlText )
 50             {
 51                 //打印文本
 52                 string text = ( (XmlText)root ).Value;
 53                 listBox_XMLList.Items.Add( text.PadLeft( text.Length + deep ) );
 54             }
 55             else if( root is XmlComment )
 56             {
 57                 string text = root.Value;
 58                 listBox_XMLList.Items.Add( text.PadLeft( text.Length + deep ) );
 59 
 60                 if ( root.HasChildNodes )
 61                     RecurseXmlDocument( root.FirstChild, deep + 2 );
 62 
 63                 if ( root.NextSibling != null )
 64                     RecurseXmlDocument( root.NextSibling, deep );
 65             }
 66         }
 67 
 68         private void Form1_Load( object sender, EventArgs e )
 69         {
 70 
 71         }
 72 
 73         private void button_Create_Click( object sender, EventArgs e )
 74         {
 75             //首先读取文档
 76             XmlDocument xmldoc = new XmlDocument();
 77             xmldoc.Load( @"E:/xml.xml" );
 78 
 79             //获取根节点
 80             XmlElement root = xmldoc.DocumentElement;
 81 
 82             //创建新节点
 83             XmlElement newBook = xmldoc.CreateElement( "book" );
 84             XmlElement newTitle = xmldoc.CreateElement( "title" );
 85             XmlElement newAuthor = xmldoc.CreateElement( "author" );
 86             XmlElement newCode = xmldoc.CreateElement( "code" );
 87 
 88             XmlText title = xmldoc.CreateTextNode( "X" );
 89             XmlText author = xmldoc.CreateTextNode( "xxx" );
 90             XmlText code = xmldoc.CreateTextNode( "11111" );
 91 
 92             XmlComment commont = xmldoc.CreateComment( "this is a commont" );
 93 
 94             //插入这个元素
 95             newBook.AppendChild( commont );
 96             newBook.AppendChild( newTitle );
 97             newBook.AppendChild( newAuthor );
 98             newBook.AppendChild( newCode );
 99 
100             newTitle.AppendChild( title );
101             newAuthor.AppendChild( author );
102             newCode.AppendChild( code );
103 
104             root.InsertAfter( newBook, root.FirstChild );
105 
106             //保存XML文档
107             xmldoc.Save( @"E:/xml.xml" );
108         }
109     }
110 }

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理