prueba de clase
{
raíz de cadena estática privada;
showXML vacío estático público (ruta de cadena)
{
XmlDocument xd = nuevo XmlDocument();
xd.Load(ruta);
XmlNodeList xnl = xd.DocumentElement.ChildNodes;
root = xd.FirstChild.NextSibling.Name;//记录根节点
Console.Write(root+"n");
foreach (XmlNode xn en xnl)
{
//Console.Write(xn.Attributes["nombre"].Value.ToString()+"n");
XmlNode hijo = xn.FirstChild;
NodoOperate(niño);
}
}
público estático vacío NodeOperate (XmlNode xn1)
{
si (xn1.HasChildNodes == verdadero)
{
Console.Write(xn1.Name + "n");
Consola.Write("n");
XmlNode childNode = xn1.FirstChild;
NodoOperate(niñoNodo);
}
demás
{
Console.Write(xn1.Name + "n");
Consola.Write(xn1.InnerText);
Consola.Write("n");
si (xn1.NextSibling! = nulo)
{
NodeOperate(xn1.NextSibling);
}
demás
{
bandera int = 0;
mientras (xn1.NextSibling == nulo)
{
if (xn1.Name == root)//检查是否到了根节点,如果不检查会出现节点的引用错误
{
bandera = 1;
romper;
}
demás
{
xn1 = xn1.ParentNode;
}
}
si (bandera == 0)
{
NodeOperate(xn1.NextSibling);
}
de lo contrario si (bandera == 1)
{
Console.Write("Fin");
}
}
}
}
}
vacío estático público principal ()
{
test.showXML(@"C:Documentos y configuracionesSKYMis documentosVisual Studio 2005ProjectsProject1Project1system.xml");
Consola.Read();
}