2012-11-20 135 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的代碼並使其生效。

如果你不能,你需要編寫/使用一個函數,它將這些特殊字符轉換爲它們的編碼變體。