Introduction The parser gives you a place to start to write an XML parser in C#. We have used the System.Xml. The code Code: public void ParseFile(string strPath) { XmlTextReader xmlReader = new XmlTextReader(strPath); int iTab = 0; // Read the line of the xml file while (xmlReader.Read()) { switch (xmlReader.NodeType) { case XmlNodeType.Element: Hashtable attributes = new Hashtable(); // We add the attributes to the hash tables bool isEmptyElement = false; PrintWhiteSpace(iTab); // Print the start of the element Console.Write("<" + xmlReader.Name); isEmptyElement = xmlReader.IsEmptyElement; if (xmlReader.HasAttributes) { // If element has attributes for (int i = 0; i < xmlReader.AttributeCount; i++) { xmlReader.MoveToAttribute(i); attributes.Add(xmlReader.Name, xmlReader.Value); Console.Write(" " + xmlReader.Name + "=" + xmlReader.Value); } } // Prints the end of the element if (isEmptyElement == true) { Console.WriteLine(" />"); } else { Console.WriteLine(">"); iTab++; } break; case XmlNodeType.EndElement: iTab--; PrintWhiteSpace(iTab); Console.WriteLine("</" + xmlReader.Name + ">"); break; case XmlNodeType.Text: PrintWhiteSpace(iTab); Console.WriteLine(xmlReader.Value); break; default: break; } } } I have included the comments and the code is pretty much self explanatory. Using the code Code: XMLParser xml = new XMLParser(); xml.ParseFile(@"Welcome.xml"); Console.Read();
hey i have a problem solving this xml : <Arbre_Binaire> −<One ID="1"> −<Two ID="2"> <Four ID="4"/> <Five ID="5"/> </Two> −<Three ID="3"> −<Six ID="6"> <Eight ID="8"/> <Nine ID="9"/> </Six> <Seven ID="7"/> </Three> </One> </Arbre_Binaire> i want to read it from parents to childrens the output must be: One Two Three Four Five Six Seven Eight Nine and thx