XML序列化为字符串

3
我正在尝试将一个对象序列化为字符串。以下是代码:

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
检查缩进属性。 - phadaphunk
1
XSLT 应该将 \r\n 视为空格,当您尝试应用 XSLT 时出现了哪个错误? - MiMo
我没有得到错误提示。输出是模板减去数据。 - Gerson
1
这些\r\n到底在哪里,你为什么认为这是你的问题? - John Saunders
这只是一个猜测。我如何检查xmlWriter的内容? - Gerson
1个回答

3

只需要将那些 \r\n 替换为 \n,然后使用 XSLT。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接