我正在尝试解析一些我认为在 .net 3.5 中使用 Linq 格式错误的 xml,我需要从 xml 中获取数据并将数据插入变量中,我一直在使用 XmlDocument 来解析 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")));
}