繁体   English   中英

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

[英]Escape an xml string while creating xml file

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

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

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

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

为什么不首先创建xls,这里有一个不错的库:

http://npoi.codeplex.com/

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM