Мне нужно прочитать содержимое файла Base64 строки в элементе XML, который возвращается из API.
Моя проблема в том, что эта строка может быть очень длинной, в зависимости от размера файла.
Сначала я использовал XmlDocument
для чтения XML. Теперь я использую XmlReader
, чтобы избежать
System.OutOfMemoryException
когда XML слишком велик.
Но я, когда читаю строку, тоже получаю System.OutOfMemoryException
.
Я думаю, что строка слишком длинная.
using (XmlReader reader = Response.ResponseXmlXmlReader)
{
bool found = false;
//Read result
while (reader.Read() && !found)
{
if(reader.NodeType == XmlNodeType.Element && reader.Name == "content")
{
//Read file content
string file_content = reader.ReadElementContentAsString();
//Write file
File.WriteAllBytes(savepath + file.name, Convert.FromBase64String(file_content));
//Set Found!
found = true;
}
}
}
Как мне прочитать строку содержимого файла с XmlReader
без System.OutOfMemoryException
?