C#: leggere ricorsivamente un XML
22 febbraio 2008
Nessun commento
Ecco una simpatica funzione ricorsiva implementata oggi per leggere ricorsivamente un XML.
/// <summary> /// Processa sottonodi ricorsivamente /// </summary> /// <param name="node">nodo padre</param> private void ProcessaSottoNodi(XmlNode node) { if (node.HasChildNodes) { foreach (XmlNode cNode in node.ChildNodes) { foreach (XmlAttribute attr in cNode.Attributes) Console.WriteLine("{0}", attr.Name + " = " + attr.InnerText); Console.WriteLine("-------------------------------"); ProcessaSottoNodi(cNode); } } }
E questo è un XML di esempio col quale potete testare il metodo:
<node level="1" desc="desc 1" query="" dbQuery=""> <node desc="desc 2" query="query 2" dbQuery="aaa"> <node desc="desc 3" query="query 3" dbQuery="aaa"> <node desc="desc 4" query="query 4" dbQuery="aaa"> <node desc="desc 5" query="query 5" dbQuery="aaa"> <node desc="desc 6" query="query 6" dbQuery="aaa"> <node desc="desc 7" query="query 7" dbQuery="aaa"> <node desc="desc 8" query="query 8" dbQuery="aaa"> </node> </node> </node> </node> </node> </node> </node> </node>