XmlReader未读取Unicode转义字符

时间:2010-05-14 14:01:15

标签: c# .net xml unicode

我有一个XML文档,我正在导入XmlReader,它有一些我需要保留的unicode格式。我保留了空白,但它正在丢弃编码的#x2028,我认为它应该表示为换行符。

这是我的代码:

var settings = new XmlReaderSettings
                   {
                       ProhibitDtd = false,
                       XmlResolver = null,
                       IgnoreWhitespace = false
                   };

var reader = XmlReader.Create(new StreamReader(fu.PostedFile.InputStream), settings);
var document = new XmlDocument {PreserveWhitespace = true};
document.Load(reader);
return document;

XML示例:

<td valign="top" align="center">Camels and camel &#x2028;resting place</td>

如何获取这些字符,我可以渲染br标签?

2 个答案:

答案 0 :(得分:0)

您的问题不明确:您是否希望XmlReader将&#x2028;翻译成HTML <br>代码?这不会发生。

或者您正在检查<td>元素的实际字符内容(在代码中,而不是打印/显示)并看到“骆驼安息之地”?如果是,请显示您用于验证此代码的代码,因为这将是一个相当大的错误。

还是其他什么?

答案 1 :(得分:0)

将代码导入阅读器后,我能够找到并替换该字符:

Regex.Replace(s, "\u2028", "<br/>");