eventdump.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using System;
  2. using System.IO;
  3. using System.Xml;
  4. public class DomEventDumper
  5. {
  6. public static void Main ()
  7. {
  8. new DomEventDumper ().TestOASIS ();
  9. }
  10. public void TestOASIS ()
  11. {
  12. XmlDocument doc = new XmlDocument ();
  13. doc.NodeInserting += new XmlNodeChangedEventHandler (OnInserting);
  14. doc.NodeInserted += new XmlNodeChangedEventHandler (OnInserted);
  15. doc.NodeChanging += new XmlNodeChangedEventHandler (OnChanging);
  16. doc.NodeChanged += new XmlNodeChangedEventHandler (OnChanged);
  17. doc.NodeRemoving += new XmlNodeChangedEventHandler (OnRemoving);
  18. doc.NodeRemoved += new XmlNodeChangedEventHandler (OnRemoved);
  19. foreach (FileInfo fi in
  20. new DirectoryInfo (@"xml-test-suite/xmlconf/oasis").GetFiles ("*.xml")) {
  21. try {
  22. if (fi.Name.IndexOf ("fail") >= 0)
  23. continue;
  24. Console.WriteLine ("#### File: " + fi.Name);
  25. XmlTextReader xtr = new XmlTextReader (fi.FullName);
  26. xtr.Namespaces = false;
  27. xtr.Normalization = true;
  28. doc.RemoveAll ();
  29. doc.Load (xtr);
  30. } catch (XmlException ex) {
  31. if (fi.Name.IndexOf ("pass") >= 0)
  32. Console.WriteLine ("Incorrectly invalid: " + fi.FullName + "\n" + ex.Message);
  33. }
  34. }
  35. }
  36. public void OnInserting (object o, XmlNodeChangedEventArgs e)
  37. {
  38. Console.WriteLine ("Inserting::: " + e.Node.NodeType + " into " + e.NewParent.NodeType + " Name: " + e.Node.Name + ", Value: " + e.Node.Value);
  39. }
  40. public void OnInserted (object o, XmlNodeChangedEventArgs e)
  41. {
  42. Console.WriteLine ("Inserted::: " + e.Node.NodeType + " into " + e.NewParent.NodeType + " Name: " + e.Node.Name + ", Value: " + e.Node.Value);
  43. }
  44. public void OnChanging (object o, XmlNodeChangedEventArgs e)
  45. {
  46. Console.WriteLine ("Changing::: " + e.Node.NodeType);
  47. }
  48. public void OnChanged (object o, XmlNodeChangedEventArgs e)
  49. {
  50. Console.WriteLine ("Changed::: " + e.Node.NodeType);
  51. }
  52. public void OnRemoving (object o, XmlNodeChangedEventArgs e)
  53. {
  54. Console.WriteLine ("Removing::: " + e.Node.NodeType);
  55. }
  56. public void OnRemoved (object o, XmlNodeChangedEventArgs e)
  57. {
  58. Console.WriteLine ("Removed::: " + e.Node.NodeType);
  59. }
  60. }