2010-09-13 67 views
2

檢查XPS文件後,我注意到,XPS中的字符串文件<>轉換爲&lt;&gt;NET Framework中是否有任何內置函數將字符串編碼爲有效的XML unicode?

那麼,有沒有在.NET Framework,可以爲我做這份工作有任何內置的功能? 如果它不存在什麼字符,我應該在myOwn函數中使用<>

我嘗試在xps文件中執行搜索,但搜索<>而不是&lt;&gt;不會返回任何內容。

UPDATE:至少我發現the list here of xml document escape characters

回答

2

XMLTextWriter是你在找什麼。除非實際編碼文本以用於HTML文檔,否則應避免使用任何HTMLEncode方法(有幾種方法)。如果您編碼的文本用於XML文檔(包括XHTML),則應使用XMLTextWriter。

像這樣的東西應該做的伎倆:

StringWriter strWriter = new StringWriter(); 
XmlTextWriter xmlWriter = new XmlTextWriter(strWriter); 
xmlWriter.WriteString('Your String Goes here, <and>, as well as other special chars will be properly encoded'); 
xmlWriter.Flush(); 

Console.WriteLine("XML Text: {0}", strWriter.ToString()); 

this other stackoverflow discussion見。

0

不建但微軟已經發布了一個反跨站點腳本庫,應該幫助。它增加了.NET的Html.Encode方法之外的新功能,包括XML編碼方法。

Tutorial

Download

1

HtmlEncode應該爲你工作。
&lt;&gt;不是unicode。他們只是逃脫了HTML/XML字符。

編輯:
試想想它,因爲只有5 predefined entities在XML中,你可以滾你自己XmlEncode方法。在HTML中有252.

相關問題