用C#遍历XML
发表于:2007-06-30来源:作者:点击数:
标签:
using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Xml; namespace WindowsApplication3 { /// summary /// Form1 的摘要说明。 /// /summary publ
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Xml;
namespace WindowsApplication3
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
private XmlDocument doc = new XmlDocument();
private XmlNode attrColl;
private System.Windows.Forms.Button button2;
private System.Windows.Forms.HelpProvider helpProvider1;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
}
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
this.helpProvider1 = new System.Windows.Forms.HelpProvider();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(184, 32);
this.button1.Name = "button1";
this.button1.TabIndex = 0;
this.button1.Text = "button1";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button2
//
this.helpProvider1.SetHelpNavigator(this.button2, System.Windows.Forms.HelpNavigator.Topic);
this.helpProvider1.SetHelpString(this.button2, "pppppp");
this.button2.Location = new System.Drawing.Point(176, 88);
this.button2.Name = "button2";
this.helpProvider1.SetShowHelp(this.button2, true);
this.button2.TabIndex = 1;
this.button2.Text = "button2";
this.button2.MouseHover += new System.EventHandler(this.button2_MouseHover);
this.button2.HelpRequested += new System.Windows.Forms.HelpEventHandler(this.button2_HelpRequested);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(448, 285);
this.Controls.AddRange(new System.Windows.Forms.Control[] {
this.button2,
this.button1});
this.HelpButton = true;
this.helpProvider1.SetHelpNavigator(this, System.Windows.Forms.HelpNavigator.TableOfContents);
this.helpProvider1.SetHelpString(this, "mmmmm");
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "Form1";
this.helpProvider1.SetShowHelp(this, false);
this.Text = "Form1";
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void button1_Click(object sender, System.EventArgs e)
{
// XmlDocument doc = new XmlDocument();
doc.Load("http://localhost/data.xml");
//Create an attribute collection.
// XmlNode attrColl = doc.DocumentElement.SelectSingleNode("//book");
attrColl = doc.DocumentElement.SelectSingleNode("//book/*");
this.SelectedNodes(attrColl);
Console.WriteLine("Display all the attributes in the collection...
");
}
private XmlNode SelectedNodes( XmlNode attrColl)
{
XmlNode childNode;
XmlNode brotherNode;
bool pd;
try
{
if( attrColl.HasChildNodes ==true)
{
childNode = SelectedNodes(attrColl.FirstChild);
return (childNode);
}
else
{
MessageBox.Show(attrColl.Name);
if( attrColl.NextSibling != null)
{
attrColl = attrColl.NextSibling;
}
else
{
while(attrColl.NextSibling == null)
{
MessageBox.Show(attrColl.ParentNode.Name.ToString());
attrColl = attrColl.ParentNode;
}
attrColl = attrColl.NextSibling;
// MessageBox.Show("PPP");
}
return ( SelectedNodes( attrColl));
}
}
catch
{
}
return attrColl;
}
private void button2_MouseHover(object sender, System.EventArgs e)
{
// this.button2.he
}
private void button2_HelpRequested(object sender, System.Windows.Forms.HelpEventArgs hlpevent)
{
// MessageBox.Show("www");
}
}//end the class
}//end the namespace
原文转自:http://www.ltesting.net