?? form1.cs
字號:
?using System;
using System.Linq;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;
using System.IO;
namespace WSonSPDemo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void menuItem1_Click(object sender, EventArgs e)
{
Application.Exit();
}
XmlTextReader reader = null;
StreamWriter writer = null;
private void menuItem3_Click(object sender, EventArgs e)
{
writer = new StreamWriter(@"\Storage Card\output.txt", false);
try
{
int timeSpan1;
// int timeSpan2;
int t1 = System.Environment.TickCount;
reader = new XmlTextReader(@"\Storage Card\books.xml");
while (reader.Read())
{
//XmlNodeType這個枚舉讓我們方便的對不同類型的節點進行相應的操作
switch (reader.NodeType)
{
case XmlNodeType.XmlDeclaration:
FormatOutput(writer, reader, "XmlDeclaration");
break;
case XmlNodeType.ProcessingInstruction:
FormatOutput(writer, reader, "ProcessingInstruction");
break;
case XmlNodeType.DocumentType:
FormatOutput(writer, reader, "DocumentType");
break;
case XmlNodeType.Comment:
FormatOutput(writer, reader, "Comment");
break;
case XmlNodeType.Element:
FormatOutput(writer, reader, "Element");
break;
case XmlNodeType.Text:
FormatOutput(writer, reader, "Text");
break;
case XmlNodeType.Whitespace:
break;
}
}
int t2 = System.Environment.TickCount;
timeSpan1 = t2-t1;
MessageBox.Show("Complete,timeSpan="+timeSpan1+" ms");
}
catch (XmlException xmlEx)
{
writer.WriteLine(xmlEx.Message);
}
finally
{
reader.Close();
writer.Close();
}
}
private static void FormatOutput(StreamWriter writer, XmlReader reader, String nodeType)
{
//用tab使輸出的層次分明一點
for (int i = 0; i < reader.Depth; i++)
{
writer.Write('\t');
}
//這里并沒有做過多的判斷,但是作為Element的節點并沒有Value
if (reader.Name != String.Empty)
writer.WriteLine(reader.Prefix + nodeType + "<" + reader.Name + ">:" + reader.Value);
else
writer.WriteLine(reader.Prefix + nodeType + ": " + reader.Value);
// 顯示當前節點的屬性名和值,同樣用tab做了格式控制
while (reader.MoveToNextAttribute())
{
for (int i = 0; i < reader.Depth; i++)
writer.Write('\t');
writer.WriteLine("Attribute: " + reader.Name + "= " + reader.Value);
}
}
private void menuItem4_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Show();
}
/*
/// <summary>
/// 根據特定的XPath表達式查詢節點信息
/// </summary>
/// <param name="xpath"></param>
private void SpecificQuery(string xpath)
{
XmlDocument doc = new XmlDocument();
doc.Load(@"\Storage Card\books.xml");
XmlNodeList nodeList;
XmlNode root = doc.DocumentElement;
nodeList = root.SelectNodes("/BookStore/Book[author/last-name='Sheldon']");
foreach (XmlNode book in nodeList)
{
Console.WriteLine(book.Name+":"+book.Value);
}
}
*/
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -