C# 我想使用C将以下字符串解析为XML# 高朗 巴维斯 布佩希 阿迪提亚

C# 我想使用C将以下字符串解析为XML# 高朗 巴维斯 布佩希 阿迪提亚,c#,xml,parsing,C#,Xml,Parsing,我想在C#中将上述字符串解析为xml。 当我尝试它时,会给出一个错误,例如“#”是一个意外的标记。预期的标记是'''或'''。它似乎是html而不是xml,因此使用 您发布的示例数据不是有效的XML。HTML和XML之间存在差异,其中之一是大多数web浏览器不需要在值周围加引号,但大多数XML解析器需要引号。因此,以下是有效的XML: var doc = new HtmlAgilityPack.HtmlDocument(); doc.Load(filename); var colors = do

我想在C#中将上述字符串解析为xml。
当我尝试它时,会给出一个错误,例如“#”是一个意外的标记。预期的标记是'''或'''。

它似乎是html而不是xml,因此使用


您发布的示例数据不是有效的XML。HTML和XML之间存在差异,其中之一是大多数web浏览器不需要在值周围加引号,但大多数XML解析器需要引号。因此,以下是有效的XML:

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);
}
高郎 但这不是

<font color="#FF0000">Gaurang</font>
高郎
你现在使用什么来解析?我想这里缺少的链接是你不能把它解析成XML,因为它不是有效的XML。@ L.B的答案是正确的解决方案。考虑HTMGReliPyPACK的CSWRY,因为它更简单、更快、更现代化。<代码> CQ。创建(文件名)[字体]。ToDictionary(E= > E.InEntEnter),E= > E.CQ()。Hi L.B.谢谢你的回答。它工作得很好,但我想知道有没有可能不使用HtmlAgilityPack就这样做?我希望避免使用第三方dll。@USER318033仅部分工作的解决方案:
<font color="#FF0000">Gaurang</font>
<font color=#FF0000>Gaurang</font>