【问题标题】:XmlWriter trimming my stringXmlWriter 修剪我的字符串
【发布时间】:2017-07-28 18:51:28
【问题描述】:

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

然后我使用 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 文件最后会被修剪。

例如,我的字符串会很大:长度为 3382563 或更多。

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

提前致谢。

【问题讨论】:

  • 为什么首先会有 XmlWriter?你希望它做什么?

标签: c# string filestream memorystream xmlwriter


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多