XmlReaderSample5.cs
上传用户:lxycoco
上传日期:2022-07-21
资源大小:38457k
文件大小:3k
源码类别:

C#编程

开发平台:

Others

  1. using System;
  2. using System.Drawing;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Windows.Forms;
  6. using System.Data;
  7. using System.IO;
  8. using System.Xml;
  9. using System.Xml.Schema;
  10. namespace Wrox.ProCSharp.Xml.XmlReaderSample5
  11. {
  12. /// <summary>
  13. /// Summary description for Form1.
  14. /// </summary>
  15. public class Form1 : System.Windows.Forms.Form
  16. {
  17. private System.Windows.Forms.Button button1;
  18. private System.Windows.Forms.ListBox listBox1;
  19. /// <summary>
  20. /// Required designer variable.
  21. /// </summary>
  22. private System.ComponentModel.Container components = null;
  23. public Form1()
  24. {
  25. //
  26. // Required for Windows Form Designer support
  27. //
  28. InitializeComponent();
  29. //
  30. // TODO: Add any constructor code after InitializeComponent call
  31. //
  32. }
  33. /// <summary>
  34. /// Clean up any resources being used.
  35. /// </summary>
  36. protected override void Dispose( bool disposing )
  37. {
  38. if( disposing )
  39. {
  40. if (components != null) 
  41. {
  42. components.Dispose();
  43. }
  44. }
  45. base.Dispose( disposing );
  46. }
  47. #region Windows Form Designer generated code
  48. /// <summary>
  49. /// Required method for Designer support - do not modify
  50. /// the contents of this method with the code editor.
  51. /// </summary>
  52. private void InitializeComponent()
  53. {
  54. this.button1 = new System.Windows.Forms.Button();
  55. this.listBox1 = new System.Windows.Forms.ListBox();
  56. this.SuspendLayout();
  57. // 
  58. // button1
  59. // 
  60. this.button1.Location = new System.Drawing.Point(40, 256);
  61. this.button1.Name = "button1";
  62. this.button1.Size = new System.Drawing.Size(200, 24);
  63. this.button1.TabIndex = 1;
  64. this.button1.Text = "Load XML";
  65. this.button1.Click += new System.EventHandler(this.button1_Click);
  66. // 
  67. // listBox1
  68. // 
  69. this.listBox1.Location = new System.Drawing.Point(24, 16);
  70. this.listBox1.Name = "listBox1";
  71. this.listBox1.Size = new System.Drawing.Size(232, 225);
  72. this.listBox1.TabIndex = 0;
  73. // 
  74. // Form1
  75. // 
  76. this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
  77. this.ClientSize = new System.Drawing.Size(288, 293);
  78. this.Controls.AddRange(new System.Windows.Forms.Control[] {
  79.   this.listBox1,
  80.   this.button1});
  81. this.Name = "Form1";
  82. this.Text = "Form1";
  83. this.ResumeLayout(false);
  84. }
  85. #endregion
  86. /// <summary>
  87. /// The main entry point for the application.
  88. /// </summary>
  89. [STAThread]
  90. static void Main() 
  91. {
  92. Application.Run(new Form1());
  93. }
  94.   
  95. // XmlReaderSample5/form.cs
  96. protected void button1_Click (object sender, System.EventArgs e)
  97. {
  98. //change this to match your path structure.
  99. string fileName = "..\..\..\booksVal.xml";
  100. XmlTextReader tr=new XmlTextReader(fileName);
  101. XmlValidatingReader trv=new XmlValidatingReader(tr);
  102. //Set validation type
  103. trv.ValidationType=ValidationType.XDR;
  104. //Add in the Validation eventhandler
  105. trv.ValidationEventHandler += 
  106. new ValidationEventHandler(this.ValidationEvent);
  107. //Read in node at a time        
  108. while(trv.Read())  
  109. {
  110. if(trv.NodeType == XmlNodeType.Text)
  111. listBox1.Items.Add(trv.Value);
  112. }
  113.     
  114. }
  115. public void ValidationEvent (object sender, ValidationEventArgs args)
  116. {
  117. MessageBox.Show(args.Message);
  118. }
  119.   
  120. }
  121. }