XmlWriter修剪我的字符串

时间:2017-07-28 18:51:28

标签: c# string filestream memorystream xmlwriter

我正在尝试将XML字符串作为CLOB从Oracle存储过程返回到C#string。

然后我使用XmlWriter类将此字符串写入文件。

我的代码如下:

string myString= ((Oracle.ManagedDataAccess.Types.OracleClob)(cmd.Parameters["paramName"].Value)).Value.ToString();
string fileName = DateTime.Now.ToString("yyyyMMddHHmmss");
var stream = new MemoryStream();
var writer = XmlWriter.Create(stream);
writer.WriteRaw(myString);
stream.Position = 0;
var fileStreamResult = File(stream, "application/octet-stream", "ABCD"+fileName+".xml");
return fileStreamResult;

当我检查我的CLOB输出时,它完全返回myString。

当我检查我的最终结果时,最后会修剪XML文件。

我的字符串对于ex来说是巨大的:长度为3382563以及更多。

是否有任何设置让XmlWriter将完整的字符串写入文件。

提前致谢。

1 个答案:

答案 0 :(得分:1)

听起来你想要做的就是从数据库中获取一些字符串值,并将该字符串值写入文本文件中。字符串 xml 实际上并不强制您使用XML特定的类或方法,除非您想要执行特定于XML的操作,我在您的代码段中没有看到。因此,我建议您只需抓取字符串值并以最简单的方式将其吐出文件。

string myString = " blah blah blah keep my spaces ";

using (StreamWriter sw = new StreamWriter(@"M:\StackOverflowQuestionsAndAnswers\XMLWriterTrimmingString_45380476\bin\Debug\outputfile.xml"))
{
    sw.Write(myString);
}