2012-12-20 86 views
2

我在Web服務返回的XML中有幾個HTML實體,類型爲XmlDocument。在應用XSLT轉換之前,我需要用它們的等效Unicode字符替換它們。將XML中的HTML實體轉換爲C#中的等效Unicode

XML片段

<ics> 
<record> 
    <metadata> 
    <meta name="Abstract" content="In the series of compounds observed after effect of &amp;#947;-quanta"/> 
    </metadata> 
</record> 
</ics> 

我使用C#與.NET 4.0。我試圖在上述XmlDocument的OuterXml屬性上使用HttpUtility.HtmlDecode,但它不會將HTML實體轉換爲Unicode。

這是如何實現的?

編輯:

我看到申請HtmlDecode一旦得到&amp;#947;&#947;。如果我再次應用它,我會得到所需的Unicode。

有沒有更好的方法來做到這一點?

+0

在這裏:http://stackoverflow.com/questions/8348879/decoding-all-html-entities它說它應該工作。 「它不轉換爲Unicode」是什麼意思? –

回答

3

使用WebUtility.HtmlDecode在.NET 4.0中

此外,&amp;#947;解碼爲&#947;逐字, Unicode字符γ。主要問題是你的「HTML」不正確。你必須做兩次才能得到伽馬字符。

+0

謝謝,我試着在OuterXml上同時使用WebUtility.HtmlDecode和HttpUtility.HtmlDecode,但是生成的字符串有γ而不是其Unicode編碼。 – itsbalur

相關問題