<html>
<font color=#FF0000>Gaurang</font>
<font color=#00FF00>Bhavesh</font>
<font color=#FF0000>Bhupesh</font>
<font color=#FF0000>AAditya</font>
</html>
我想在C#中将上面的字符串解析为xml。 当我尝试它时,给出错误,例如'#'是一个意外的令牌。预期的标记是“”或“”。
答案 0 :(得分:3)
它似乎是一个html而不是xml,所以使用HtmlAgilityPack
var doc = new HtmlAgilityPack.HtmlDocument();
doc.Load(filename);
var colors = doc.DocumentNode.Descendants("font")
.ToDictionary(e => e.InnerText, e => e.Attributes["color"].Value);
foreach(var color in colors)
{
Console.WriteLine("{0}:{1}", color.Key, color.Value);
}
答案 1 :(得分:0)
您发布的示例数据不是有效的XML。 HTML和XML之间存在差异,其中之一是大多数Web浏览器不需要围绕值的引号,但大多数XML解析器都需要。所以以下是有效的XML:
<font color="#FF0000">Gaurang</font>
但这不是......
<font color=#FF0000>Gaurang</font>