上面提到的问题,我正在尝试解析一个包含xml的字符串。我正在使用类XDocument和XElement将XML上的信息解析为Dictionary。代码看起来像这样:
XDocument xDoc = XDocument.Parse(xmlString);
Dictionary<string, string> dic = new Dictionary<string,string>();
foreach(XElement x in xDoc.Root.Descendants())
{
temp.Add(x.Name.ToString(),x.Value.ToString());
}
** xmlString是具有xml内容的字符串
这通常可以正常工作,除非xmlString在标记上有某种特殊字符('&gt;','&lt;','&amp;')。例如,当出现这样的事情时:
<Content> #include <stdio.h> </Content>
我认为我实现的代码在这种情况下不起作用,因为C#查看他认为XML标记应该看到的内容是纯文本。基本上,我的问题是我如何设法解析这种包含特殊字符的XML具有我之前说过的那个?
答案 0 :(得分:3)
如果我理解正确的话, 您正在尝试解析无效的xml。
如果可以,我建议您修改生成此xml并使其生效的代码。
如果你不能,你需要编写/使用一个函数,它会将这些特殊字符转换为它们的编码变体。