2011-07-13 15 views
0

XmlReader.Read將 &lt; 改爲<。如何在使用XmlReader時保留<值

當閱讀本示例XML片段&lt;add &gt;, XML.NodeType isXmlNodeType.Text但XmlReader.Value包含<添加>。

如何保留&lt;" add &gt;的原始格式?

回答

5

你不能。

如果該元素的實際內容是逃脫的文字,您需要進一步逃避它在XML,像這樣:

&amp;lt;add&amp;gt; 

這將被正確讀取爲

&lt;add&gt; 
+0

花了幾個小時試圖解決這個問題後,我發現這是正確的答案。我正在保存一個xml文檔,該文檔在文檔內容中包含>和<字符。您將需要使用適當的轉義字符,然後轉義轉義字符。 - 雙重逃脫。 – MAlvarez

1

我只能猜測你想隨後在另一個XML或HTML上下文中使用文本'plain'。

正確的答案是:

  • 使用的XmlWriter/XElement.ToString的路線,或
  • 適當HtmlEncode

邊欄             XML!=文本,不要這樣對待。不要剪切/粘貼碎片。你會碰到磚牆未解析字符數據,不同的字符集,不同的編碼,重複逃逸或逃避不平衡等

XMLReader可以被認爲閱讀 Xml和你的內容。沒有別的辦法。

相關問題