Creating a simple XML Parser alternative to LINQ
Here is a simple way to parse an XML string, and store its element name and values in a Hashtable which you can call its key using the GetAttribute() method.
public class Parse
{
Hashtable attributes;
public void ParseURL(string xmlData)
{
try
{
string errorString = string.Empty;
byte[] byteArray = new byte[xmlData.Length];
System.Text.ASCIIEncoding encoding = new
System.Text.ASCIIEncoding();
byteArray = encoding.GetBytes(xmlData);
attributes = new Hashtable();
// Load the memory stream
MemoryStream memoryStream = new MemoryStream(byteArray);
memoryStream.Seek(0, SeekOrigin.Begin);
XmlTextReader reader = new XmlTextReader(memoryStream);
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
string strURI = reader.NamespaceURI;
string strName = reader.Name;
if (reader.HasAttributes)
{
for (int i = 0; i < reader.AttributeCount; i++)
{
reader.MoveToAttribute(i);
if (!attributes.ContainsKey(reader.Name))
{
attributes.Add(reader.Name, reader.Value);
}
}
}
break;
default:
break;
}
}
}
catch (XmlException e)
{
Console.WriteLine("error occured: " + e.Message);
}
}
public string GetAttribute(string key)
{
try
{
return attributes[key].ToString();
}
catch (XmlException e)
{
return "error occured: " + e.Message;
}
}
}
The ASP.NET Wiki was started by Scott Hanselman in February of 2008. The idea is that folks spend a lot of time trolling the blogs, googlinglive-searching for answers to common "How To" questions. There's piles of fantastic community-created and MSFT-created content out there, but if it's not found by a search engine and the right combination of keywords, it's often lost.
The ASP.NET Wiki articles moved to CodeProject in October 2013 and will live on, loved, protected and updated by the community.