课堂测试
{
私有静态字符串根;
公共静态无效showXML(字符串路径)
{
XmlDocument xd = new XmlDocument();
xd.Load(路径);
XmlNodeList xnl = xd.DocumentElement.ChildNodes;
root = xd.FirstChild.NextSibling.Name;//记录根节点
Console.Write(root+"n");
foreach(xnl 中的 XmlNode xn)
{
//Console.Write(xn.Attributes["name"].Value.ToString()+"n");
XmlNode 子节点 = xn.FirstChild;
节点操作(子节点);
}
}
公共静态无效 NodeOperate(XmlNode xn1)
{
if (xn1.HasChildNodes == true)
{
Console.Write(xn1.Name + "n");
Console.Write("n");
XmlNode childNode = xn1.FirstChild;
NodeOperate(子节点);
}
别的
{
Console.Write(xn1.Name + "n");
Console.Write(xn1.InnerText);
Console.Write("n");
if (xn1.NextSibling != null)
{
NodeOperate(xn1.NextSibling);
}
别的
{
int 标志 = 0;
while (xn1.NextSibling == null)
{
if (xn1.Name == root)//检查是否到了根节点,如果不检查会出现节点的引用错误
{
标志= 1;
休息;
}
别的
{
xn1 = xn1.ParentNode;
}
}
如果(标志== 0)
{
NodeOperate(xn1.NextSibling);
}
否则如果(标志==1)
{
Console.Write("结束");
}
}
}
}
}
公共静态无效Main()
{
test.showXML(@"C:Documents and SettingsSKYMy DocumentsVisual Studio 2005ProjectsProject1Project1system.xml");
控制台.Read();
}