新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > .Net开发 > Asp.net教程 > 正文:关于XML文档模型的事件驱动

关于XML文档模型的事件驱动

新客网 XKER.COM 2004-06-25 来源: 收藏本文
////////////////////////////////////////////////////////////////////////////////
//Author: stardicky //
//E-mail: stardicky@hotmail.com //
//QQNumber: 9531511 //
//CompanyName: Ezone International //
//Class: HBS-0308 //
//title: 关于XML文档模型的事件驱动 //
////////////////////////////////////////////////////////////////////////////////
using System;
using System.Xml;

namespace EzoneXMLEventDemo
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class XMLEvent
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序
//
XmlDocument XmlDoc=new XmlDocument();

XmlDeclaration MyDeclaration=XmlDoc.CreateXmlDeclaration("1.0","utf-8","yes");


XmlDoc.NodeChanged+=new XmlNodeChangedEventHandler(XmlDoc_NodeChanged);
XmlDoc.NodeChanging+=new XmlNodeChangedEventHandler(XmlDoc_NodeChanging);
XmlDoc.NodeInserted+=new XmlNodeChangedEventHandler(XmlDoc_NodeInserted);
XmlDoc.NodeInserting+=new XmlNodeChangedEventHandler(XmlDoc_NodeInserting);
XmlDoc.NodeRemoved+=new XmlNodeChangedEventHandler(XmlDoc_NodeRemoved);
XmlDoc.NodeRemoving+=new XmlNodeChangedEventHandler(XmlDoc_NodeRemoving);

XmlDoc.AppendChild(MyDeclaration);

XmlElement EzoneRoot=XmlDoc.CreateElement("EzoneRoot");

XmlDoc.AppendChild(EzoneRoot);

XmlElement MyName=XmlDoc.CreateElement("Name");

XmlElement FirstName=XmlDoc.CreateElement("First");
FirstName.InnerText="A";
XmlElement MiddleName=XmlDoc.CreateElement("Middle");
MiddleName.InnerText="B";
XmlElement LastName=XmlDoc.CreateElement("Last");
LastName.InnerText="C";

XmlDoc.DocumentElement.AppendChild(MyName);

MyName.AppendChild(FirstName);
MyName.AppendChild(MiddleName);
MyName.AppendChild(LastName);

Console.WriteLine(XmlDoc.InnerXml);
}

private static void XmlDoc_NodeChanged(object sender, XmlNodeChangedEventArgs e)
{
Console.WriteLine("-------------------------------------------------------");
Console.WriteLine("产生事件 - XmlDoc_NodeChanged");
Console.WriteLine("事件类型: "+e.Action.ToString());
Console.WriteLine("节点类型: "+e.Node.NodeType.ToString());
Console.WriteLine("节点名称: "+e.Node.Name);
Console.WriteLine("节点的值: "+e.Node.InnerXml);
Console.WriteLine("-------------------------------------------------------");
}

private static void XmlDoc_NodeChanging(object sender, XmlNodeChangedEventArgs e)
{
Console.WriteLine("-------------------------------------------------------");
Console.WriteLine("产生事件 - XmlDoc_NodeChanging");
Console.WriteLine("事件类型: "+e.Action.ToString());
Console.WriteLine("节点类型: "+e.Node.NodeType.ToString());
Console.WriteLine("节点名称: "+e.Node.Name);
Console.WriteLine("节点的值: "+e.Node.InnerXml);
Console.WriteLine("-------------------------------------------------------");
}

private static void XmlDoc_NodeInserted(object sender, XmlNodeChangedEventArgs e)
{
Console.WriteLine("-------------------------------------------------------");
Console.WriteLine("产生事件 - XmlDoc_NodeInserted");
Console.WriteLine("事件类型: "+e.Action.ToString());
Console.WriteLine("节点类型: "+e.Node.NodeType.ToString());
Console.WriteLine("节点名称: "+e.Node.Name);
Console.WriteLine("节点的值: "+e.Node.InnerXml);
Console.WriteLine("-------------------------------------------------------");
}

private static void XmlDoc_NodeInserting(object sender, XmlNodeChangedEventArgs e)
{
Console.WriteLine("-------------------------------------------------------");
Console.WriteLine("产生事件 - XmlDoc_NodeInserting");
Console.WriteLine("事件类型: "+e.Action.ToString());
Console.WriteLine("节点类型: "+e.Node.NodeType.ToString());
Console.WriteLine("节点名称: "+e.Node.Name);
Console.WriteLine("节点的值: "+e.Node.InnerXml);
Console.WriteLine("-------------------------------------------------------");
}

private static void XmlDoc_NodeRemoved(object sender, XmlNodeChangedEventArgs e)
{
Console.WriteLine("-------------------------------------------------------");
Console.WriteLine("产生事件 - XmlDoc_NodeRemoved");
Console.WriteLine("事件类型: "+e.Action.ToString());
Console.WriteLine("节点类型: "+e.Node.NodeType.ToString());
Console.WriteLine("节点名称: "+e.Node.Name);
Console.WriteLine("节点的值: "+e.Node.InnerXml);
Console.WriteLine("-------------------------------------------------------");
}

private static void XmlDoc_NodeRemoving(object sender, XmlNodeChangedEventArgs e)
{
Console.WriteLine("-------------------------------------------------------");
Console.WriteLine("产生事件 - XmlDoc_NodeRemoving");
Console.WriteLine("事件类型: "+e.Action.ToString());
Console.WriteLine("节点类型: "+e.Node.NodeType.ToString());
Console.WriteLine("节点名称: "+e.Node.Name);
Console.WriteLine("节点的值: "+e.Node.InnerXml);
Console.WriteLine("-------------------------------------------------------");
}
}
}

//(程序运行结果)
//-------------------------------------------------------
//产生事件 - XmlDoc_NodeInserting
//事件类型: Insert
//节点类型: XmlDeclaration
//节点名称: xml
//节点的值:
//-------------------------------------------------------
//-------------------------------------------------------
//产生事件 - XmlDoc_NodeInserted
//事件类型: Insert
//节点类型: XmlDeclaration
//节点名称: xml
//节点的值:
//-------------------------------------------------------
//-------------------------------------------------------
//产生事件 - XmlDoc_NodeInserting
//事件类型: Insert
//节点类型: Element
//节点名称: EzoneRoot
//节点的值:
//-------------------------------------------------------
//-------------------------------------------------------
//产生事件 - XmlDoc_NodeInserted
//事件类型: Insert
//节点类型: Element
//节点名称: EzoneRoot
//节点的值:
//-------------------------------------------------------
//-------------------------------------------------------
//产生事件 - XmlDoc_NodeInserting
//事件类型: Insert
//节点类型: Text
//节点名称: #text
//节点的值:
//-------------------------------------------------------
//-------------------------------------------------------
//产生事件 - XmlDoc_NodeInserted
//事件类型: Insert
//节点类型: Text
//节点名称: #text
//节点的值:
//-------------------------------------------------------
//-------------------------------------------------------
//产生事件 - XmlDoc_NodeInserting
//事件类型: Insert
//节点类型: Text
//节点名称: #text
//节点的值:
//-------------------------------------------------------
//-------------------------------------------------------
//产生事件 - XmlDoc_NodeInserted
//事件类型: Insert
//节点类型: Text
//节点名称: #text
//节点的值:
//-------------------------------------------------------
//-------------------------------------------------------
//产生事件 - XmlDoc_NodeInserting
//事件类型: Insert
//节点类型: Text
//节点名称: #text
//节点的值:
//-------------------------------------------------------
//-------------------------------------------------------
//产生事件 - XmlDoc_NodeInserted
//事件类型: Insert
//节点类型: Text
//节点名称: #text
//节点的值:
//-------------------------------------------------------
//-------------------------------------------------------
//产生事件 - XmlDoc_NodeInserting
//事件类型: Insert
//节点类型: Element
//节点名称: Name
//节点的值:
//-------------------------------------------------------
//-------------------------------------------------------
//产生事件 - XmlDoc_NodeInserted
//事件类型: Insert
//节点类型: Element
//节点名称: Name
//节点的值:
//-------------------------------------------------------
//-------------------------------------------------------
//产生事件 - XmlDoc_NodeInserting
//事件类型: Insert
//节点类型: Element
//节点名称: First
//节点的值: A
//-------------------------------------------------------
//-------------------------------------------------------
//产生事件 - XmlDoc_NodeInserted
//事件类型: Insert
//节点类型: Element
//节点名称: First
//节点的值: A
//-------------------------------------------------------
//-------------------------------------------------------
//产生事件 - XmlDoc_NodeInserting
//事件类型: Insert
//节点类型: Element
//节点名称: Middle
//节点的值: B
//-------------------------------------------------------
//-------------------------------------------------------
//产生事件 - XmlDoc_NodeInserted
//事件类型: Insert
//节点类型: Element
//节点名称: Middle
//节点的值: B
//-------------------------------------------------------
//-------------------------------------------------------
//产生事件 - XmlDoc_NodeInserting
//事件类型: Insert
//节点类型: Element
//节点名称: Last
//节点的值: C
//-------------------------------------------------------
//-------------------------------------------------------
//产生事件 - XmlDoc_NodeInserted
//事件类型: Insert
//节点类型: Element
//节点名称: Last
//节点的值: C
//-------------------------------------------------------
//<?xml version="1.0" encoding="utf-8" standalone="yes"?><EzoneRoot><Name><First>A
//</First><Middle>B</Middle><Last>C</Last></Name></EzoneRoot>

收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐