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: CSharp
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;
}
}
}
Using the code
Code: CSharp
XMLParser xml = new XMLParser();
xml.ParseFile(@"Welcome.xml");
Console.Read();
