2012-11-20 96 views
2

有上述问题,我试图解析一个字符串,它有一个XML。我正在使用类XDocument和XElement将XML中的信息解析为字典。该代码看起来是这样的:用特殊字符解析XML

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具有某种特殊字符(“>”,'字符串<','&')。例如,当这样的事情出现:

<Content> #include <stdio.h> </Content> 

我认为,我实施了,因为C#这种情况下不能正常工作的代码看什么,他认为是一个XML标签还应当看到有纯文本。基本上,我的问题是我如何设法解析这种包含特殊字符的XML有我之前说过的那种?

+0

如果您有权访问feed,然后在输出之前htmlencode xml的值 – NSjonas

+0

我编辑了您的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –

+0

这不是XML; XML将'>','<','&'定义为元字符,这不是你所拥有的。 'XDocument'只适用于XML,你必须得到任何发送字符串来发送XML。 –

回答

3

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

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

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