Array
(
)

Duvida XML - Csharp

Iago Melo
   - 22 set 2015

Buenas!
Sou novo na área, cursando o segundo semestre do curso técnico mas gostei muito e estou me aprofundando.
Tenho uma função que escreve um XML e uma função que assina o XML. Funcionam da seguinte maneira:
1 - A função "Escrita" escreve o XML e salva em um arquivo no HD.
2 - A função "Assina" abre este arquivo, assina ele e salva ele no HD.
Gostaria de saber se alguém sabe como posso estar armazenando o arquivo escrito em uma variável, para fazer esta movimentação sem estar utilizando armazenamento em disco, ou se alguém sabe como posso deixar deste jeito mas depois ler o XML assinado e gravar em uma variável. Tenho uma função que lê o arquivo XML porém ele só mostra no console, ao mandar para uma string ele apenas manda isso:
System.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReaderSystem.Xml.XmlTextReader
Crio o arquivo XML da seguinte maneira
#Código

// Criando o documento XML para a escrita e salvando no caminho especificado
                XmlTextWriter escritor = new XmlTextWriter("D:\xml\teste.xml", System.Text.Encoding.UTF8);

                // Comando de formação de documento (identação)
                escritor.Formatting = Formatting.Indented;

                escritor.WriteStartDocument(); // Iniciando o documento

Função que uso para ler o XML:
#Código
FileStream dir = new FileStream(arquivo, FileMode.Open);

                // Abre um stream para a leitura do arquivo XML
                XmlTextReader leitor = new XmlTextReader(dir);
                
                while (leitor.Read())
                {
                    //verificacao do tipo de nó lido
                    switch (leitor.NodeType)
                    {
                        case XmlNodeType.Element: // O nó é um elemento.
                            Console.Write("<" + leitor.Name);
                            Console.WriteLine(">");
                            break;
                        case XmlNodeType.Text: // Exibir o texto em cada elemento.
                            Console.WriteLine(leitor.Value);
                            break;
                        case XmlNodeType.EndElement: // Mostrar a extremidade do elemento .
                            Console.Write("</" + leitor.Name);
                            Console.WriteLine(">");
                            break;
                    }
                    xml = xml + leitor.ToString();
                }

                //fechamento do arquivo XML
                leitor.Close();

Se alguém puder me dar uma luz eu ficarei muito feliz.