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

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

////////////////////////////////////////////////////////////////////////////////

//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>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航