XMLTextReader和XmlDocument读取XML文件的比较(2)
file://忽略<people>和<person>元素
if ((xmlReader.Name != "person") && (xmlReader.Name != "people"))
{
file://如果是一个<category>元素,开始一个新的段落
if ( xmlReader.Name == "category" )
temp.Append("<p>");
file://添加元素名到输出中
temp.Append( xmlReader.Name + ": " );
}
}
// 处理文本节点
else if (xmlReader.NodeType == XmlNodeType.Text)
temp.Append(xmlReader.Value + "<br>");
file://处理元素节点的结尾
else if (xmlReader.NodeType == XmlNodeType.EndElement)
{
file://如果是<email>节点,添加结束段落的标记
if ( xmlReader.Name == "email" )
temp.Append("</p>");
}
}//结束while循环
return temp.ToString();
} file://结束ProcessXML方法
} file://结束XmlDisplay类
private void Page_Load(Object sender, EventArgs e){
file://创建XmlDisplay类的实例
XmlDisplay XmlDisplayDemo = new XmlDisplay();
output.InnerHtml = XmlDisplayDemo.LoadDocument(Server.MapPath("XMLData.xml"));
}
</script>
<html>
<head>
</head>
<body>
<h2>演示XmlTextReader类</h2>
<div runat="server"/>
</body>
</html>
1 static void Main(string[] args)
2 {
3 DateTime d1 =DateTime.Now;
4 XmlDocumentTest();
5 DateTime d2 =DateTime.Now;
6 TimeSpan ts =d2-d1 ;
7
8 Console.WriteLine(ts.TotalMilliseconds) ;
9 Console.Read() ;
10
11 }
12
13
14 public static string XmlFileName = "../../XML/1.xml";
15
16 private static void XmlTextReaderTest()
17 {
18 XmlTextReader reader = new XmlTextReader(XmlFileName);
19 while (reader.Read() )
20 {
21 bool exit =false;
22 switch(reader.NodeType)
23 {
24 case XmlNodeType.Element :
25 break;
26 case XmlNodeType.Text :
27 if (reader.Value=="last")
28 {
29 exit=true;
30 }
31 break;
32 case XmlNodeType.EndElement :
33 break;
34 default:
35 break;
36 }
37 if(exit)
38 &n
