我想解析一些xml,我在使用.net 3.5中的Linq时会出现错误,我需要从xml中获取数据并将数据插入变量,我一直使用XmlDocument解析XML,任何实例或协助不胜感激用Linq解析格式不正确的XML
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>
的另一个问题是,有时“currentsong”值可以包含特殊字符,如! ,%,^ &等,我知道有时可能会导致与XML的问题。
- 代码我试图用它来解析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")));
}
您是否包含XML示例?它没有出现(至少不是我)。 –
LINQ to XML假定有效的XML - 它不能处理格式不正确的XML。 – Oded
您发布的XML格式良好。有什么问题? – Oded