使用特殊字符解析XML

时间:2012-11-20 23:46:55

标签: c# xml xml-parsing

上面提到的问题,我正在尝试解析一个包含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具有我之前说过的那个?

1 个答案:

答案 0 :(得分:3)

如果我理解正确的话, 您正在尝试解析无效的xml。

如果可以,我建议您修改生成此xml并使其生效的代码。

如果你不能,你需要编写/使用一个函数,它会将这些特殊字符转换为它们的编码变体。