Сохранение XML в файл при чтении с помощью XmlReader - PullRequest
0 голосов
/ 20 января 2012

Я получаю XML в ответе HTTP.Я хочу проанализировать его с помощью XmlReader, потому что он довольно большой и имеет много дочерних узлов.Но в то же время я хочу иметь возможность сохранить весь XML в файл.

Как я могу сделать это без предварительного чтения всего XML в буфер памяти?

Кроме того, я не всегда разбираю XML с последним элементом, но мне нужно сохранить весь XML.

Спасибо

Ответы [ 3 ]

1 голос
/ 20 января 2012

Почему бы не отправить входящий поток прямо в файл, а затем проанализировать XML в файле с помощью XmlReader?

0 голосов
/ 20 января 2012

Вы можете создать потоковую запись и записывать узел за узлом по мере необходимости.

using (StreamWriter writer = new StreamWriter("file.txt"))
{
        //Start loop to read XML here

    writer.Write("XML node you want to write");     
        // Loop ends
}
0 голосов
/ 20 января 2012

если я не ошибаюсь, вы можете использовать метод XmlWriter.WriteNode,

XmlTextWriter empwriter = new XmlTextWriter ();

    //Write the start tag.
    empwriter .WriteStartElement("Employee");

    //Write the first employee.
    empwriter .WriteNode(reader, false);

         //all your elements.. 

    //Write the last employee.
    empwriter.WriteNode(reader, false);
    empwriter.WriteEndElement();

XML Writer

...