I am receiving dynamic xml where I won’t know the attribute names, if you’ll look at the xml and code… I tried to make a simple example, I can get the attribute values i.e. ‘myName’, ‘myNextAttribute’, and ‘blah’, but I can’t get the attribute names i.e. ‘name’, ‘nextAttribute’, and ‘etc1’. Any ideas, I figure it has to be something easy I’m missing…but I’m sure missing it.
static void Main(string[] args) { string xml = '<test name=\'myName\' nextAttribute=\'myNextAttribute\' etc1=\'blah\'/>'; TextReader sr = new StringReader(xml); using (XmlReader xr = XmlReader.Create(sr)) { while (xr.Read()) { switch (xr.NodeType) { case XmlNodeType.Element: if (xr.HasAttributes) { for (int i = 0; i < xr.AttributeCount; i++) { System.Windows.Forms.MessageBox.Show(xr.GetAttribute(i)); } } break; default: break; } } } }
You can see in MSDN: