0;第一行的回车换行符号,元素类型是Whitespace,根节点前的空白,深度是0;
0;<People>,元素类型是Element,根节点,深度是0;
1;<Person>前的空白字符,元素类型是Whitespace,和Persion深度一样,所以深度是1;
1;<Person>,元素类型是Element,根节点的子节点,深度是1;
2;<Name>前的空白字符,元素类型是Whitespace,深度是2;
2;<Name>,元素类型是Element,根节点的子节点的子节点,深度是2;
3;空白 张三 空白,元素类型是Text,是<Name>的文本内容,深度是3;
2;</Name>,元素类型是EndElement,和<Name>一样深度是2;
2;<Address>前的空白字符,深度是2;
2;<Address>,元素类型是Element,根节点的子节点的子节点,深度是2;
3;空白 北京 空白,元素类型是Text,深度是3;
2;</Address>,元素类型是EndElement,和<Address>一样,深度是2;
2;<Job>前的空白字符,深度是2;
2;<Job>,元素类型是Element,根节点的子节点的子节点,深度是2;
3;空白 司机 空白,元素类型是Text,深度是3;
2;</Job>,元素类型是EndElement,和<Job>一样,深度是2;
2;</Job>后的空白字符,深度是2;
1;</Person>,深度是1;
1;</Person>后的空白字符,深度是1;
0;</People>,深度是0;
0;</People>后的空白字符,深度是0;
21:共有21个元素;
0;<People>,元素类型是Element,根节点,深度是0;
1;<Person>前的空白字符,元素类型是Whitespace,和Persion深度一样,所以深度是1;
1;<Person>,元素类型是Element,根节点的子节点,深度是1;
2;<Name>前的空白字符,元素类型是Whitespace,深度是2;
2;<Name>,元素类型是Element,根节点的子节点的子节点,深度是2;
3;空白 张三 空白,元素类型是Text,是<Name>的文本内容,深度是3;
2;</Name>,元素类型是EndElement,和<Name>一样深度是2;
2;<Address>前的空白字符,深度是2;
2;<Address>,元素类型是Element,根节点的子节点的子节点,深度是2;
3;空白 北京 空白,元素类型是Text,深度是3;
2;</Address>,元素类型是EndElement,和<Address>一样,深度是2;
2;<Job>前的空白字符,深度是2;
2;<Job>,元素类型是Element,根节点的子节点的子节点,深度是2;
3;空白 司机 空白,元素类型是Text,深度是3;
2;</Job>,元素类型是EndElement,和<Job>一样,深度是2;
2;</Job>后的空白字符,深度是2;
1;</Person>,深度是1;
1;</Person>后的空白字符,深度是1;
0;</People>,深度是0;
0;</People>后的空白字符,深度是0;
21:共有21个元素;
XmlTextReader td = new XmlTextReader ("test.xml");
int intCount=0;
td.Read ();
while(td.Read ())
{
intCount++;
str += td.Depth .ToString ()+";";
Console.WriteLine(td.NodeType);switch (td.NodeType) {
case XmlNodeType.Element:
Console.Write("<{0}>", td.Name);
break;
case XmlNodeType.Text:
Console.Write(td.Value);
break;
case XmlNodeType.CDATA:
Console.Write("<![CDATA[{0}]]>", td.Value);
break;
case XmlNodeType.ProcessingInstruction:
Console.Write("<?{0} {1}?>", td.Name, td.Value);
break;
case XmlNodeType.Comment:
Console.Write("<!--{0}-->", td.Value);
break;
case XmlNodeType.XmlDeclaration:
Console.Write("<?xml version='1.0'?>");
break;
case XmlNodeType.Document:
break;
case XmlNodeType.DocumentType:
Console.Write("<!DOCTYPE {0} [{1}]", td.Name, td.Value);
break;
case XmlNodeType.EntityReference:
Console.Write(td.Name);
break;
case XmlNodeType.EndElement:
Console.Write("</{0}>", td.Name);
break;
}
}
str += intCount.ToString ();
td.Close ();
Console.WriteLine(str);
}