i am trying to parse some xml that i beleve to be malformed using Linq in .net 3.5 , i need to get the data out of the xml and insert the data into variables, i have been using XmlDocument to parse the xml, any examples or assistance is greatly appreciated
XML —
<?xml version="1.0" encoding="UTF-8"?>
<centovacast version="2.2.4" host="my.domain.com">
<response type="success">
<message>Complete</message>
<data><row>
<field name="mount">/stream</field>
<field name="listenercount">0</field>
<field name="genre">Unspecified</field>
<field name="url">http://</field>
<field name="title"></field>
<field name="currentsong">Placebo - One Of A Kind</field>
<field name="bitrate">128</field>
<field name="sourceconnected">1</field>
<field name="serverstate">1</field>
<field name="sourcestate">1</field>
<field name="reseller">0</field>
<field name="ipaddress"></field>
<field name="port">13282</field>
<field name="proxy">0</field>
<field name="servertype">ShoutCast</field>
<field name="sourcetype">icescc</field>
</row><row><field></field></row></data></response></centovacast>
another problem is that sometimes the “currentsong” value may contain special characters, such as ! , % , ^ & etc and i know that can sometimes cause issues with xml.
— Code i’m trying to use to parse the XML
XElement xml = XElement.Parse(data);
var query = from p in xml.Elements("name")
select p;
foreach (var record in query)
{
MessageBox.Show(String.Format("Info: {0} {1}",
record.Element("url"),
record.Element("title")));
}
Linq2Xml code below works with your xml.