2013-04-22 98 views
1

我试图将对象序列化为字符串。这里是代码:将XML序列化为字符串

XmlSerializer xmlSerializer = new XmlSerializer(data.GetType()); 
StringWriter textWriter = new StringWriter(); 
xmlSerializer.Serialize(textWriter, data); 
var xml = textWriter.ToString(); 

这个工作,但“\ r \ n”是字符串的一部分。我想用此字符串执行XSLT转换。由于“\ r \ n”字符不起作用。

这里是变换代码:

XslCompiledTransform transform = new XslCompiledTransform(); 
transform.Load(xsltPath); 

using (XmlReader xmlReader = System.Xml.XmlReader.Create(new StringReader(xmlString))) 
{ 
    transform.Transform(xmlReader, xmlWriter); 
    ... 
} 

如何我去呢?

+2

你能后的代码为你改变过,好吗? – Brian 2013-04-22 19:11:24

+0

检查缩进属性 – phadaphunk 2013-04-22 19:11:41

+1

XSLT应该将'\ r \ n'作为空格处理,当您尝试应用XSLT时会出现哪些错误? – MiMo 2013-04-22 19:14:29

回答

2

只需使用\n取代那些\r\n当时的使用XSLT

var xml = textWriter.ToString().Replace("\r\n", "\n");