创建xml文件时转义xml字符串

时间:2012-07-17 09:12:01

标签: c# xml xslt xls

我需要创建一个要转换为excel文件(.xls)的xml文件,这意味着xml中有很多元信息。它很容易将所有内容作为文本文件写入xml文件。

var sw = new FileInfo(tempReportFilePath).CreateText();
sw.WriteLine("meta info and other tags")

但是,此方法不会转义字符,并且当数据包含“<”时或'>'或'&'等.xml呈现无效,.xls文件无法打开。我可以轻松地进行替换('<'with'<'等等),但出于性能原因,此方法不适用。

另一种选择是使用xml文本编写器,但是有大量元信息,这意味着在代码中编写了大量标签。使用sw.WriteLine('stuff'),我可以简单地将元信息的一部分放在一个标签中(作为字符串)并将它们写入文件。使用xslt,我遇到的问题是标签需要空格。例如,对于表格数据,顶行字段可以包含空格。 如何创建一个包含大量元信息的格式良好的xml文件,以及chareacters('<','>'等)的位置?

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

为什么不首先创建xls,有一个很好的库可以这样做:

http://npoi.codeplex.com/

答案 2 :(得分:0)

我使用WriteRaw方法编写元信息标签。对于需要转义的其他数据,我使用了WriteString方法。