将XML加载到内存流中

时间:2011-07-25 20:15:17

标签: c# xml dataset memorystream

所以我试图将strInstallDataSet字符串中的简单数据集添加到数据集中,使用下面的代码,当我连接调试器时,我可以看到strInstallDataSet有数据,{{1有数据,但即使在阅读byteArray没有任何内容,长度只是0,我已经尝试在读取之前和之后设置位置,但它仍然只是没有获取任何数据。有什么想法吗?

msDataset

4 个答案:

答案 0 :(得分:3)

您可能希望执行以下操作:

using(StringReader reader = new StringReader(strInstallDataSet)) 
{
    dsInstallData.ReadXml(reader);
}

答案 1 :(得分:0)

您没有在流中写任何内容,只能阅读msDataset.Read ...

附注1:您使用的是非常低级别的方法 - 有读取器/写入器类可以正确地处理编码。

附注2:使用“使用”而不是手动调用Close或Dispose(并且不要同时调用其中的2个,因为两者完全相同)。

答案 2 :(得分:0)

你误解了MemoryStream.Read()的作用,它读入字节数组,而不是读入内存流。

您想要MemoryStream.Write()

MemoryStream.Read()

或者更好......

MemoryStream xmlMemoryStream = new MemoryStream(byteArray);

答案 3 :(得分:0)

您必须使用Write方法而不是read方式。我想你想把你的bytearray写入你的内存流。