private void buttonDump_Click(object sender, System.EventArgs e) { StringWriter writer = new StringWriter(); try { XmlTextReader reader = new XmlTextReader( new StringReader( this.textBoxSource.Text ) ); try { while (reader.Read()) { writer.WriteLine("ノードを発見: {0}", reader.NodeType.ToString()); switch (reader.NodeType) { case XmlNodeType.Element: writer.WriteLine("reader.Name={0}", reader.Name); if( reader.MoveToFirstAttribute() ) { do { writer.WriteLine("属性を発見 {0}={1}",reader.Name,reader.Value); } while( reader.MoveToNextAttribute() ); } break; case XmlNodeType.Text: writer.WriteLine("reader.Value={0}", reader.Value); break; case XmlNodeType.EndElement: writer.WriteLine("reader.Name={0}", reader.Name); break; } } } catch( XmlException ex ) { writer.WriteLine( ex.ToString() ); } finally { reader.Close(); } } finally { writer.Close(); } this.textBoxResult.Text = writer.ToString(); }