Ho un'istanza XElement
e desidero scrivere su uno stream utilizzando la classe XmlWriter
. Perché? Bene, una delle impostazioni di configurazione definisce se utilizzare Xml binario o meno. In base a questa impostazione, viene creata un'istanza XmlWriter
idonea, tramite XmlWriter.Create(stream)
o XmlDictionaryWriter.CreateBinaryWriter(stream))
.Come scrivere System.Xml.Linq.XElement utilizzando XmlWriter su uno stream
Comunque, sto cercando il seguente codice, ma lascia il flusso vuoto:
using (var stream = new MemoryStream())
{
var xmlReader = new XDocument(xml).CreateReader();
xmlReader.MoveToContent();
var xmlWriter = GetXmlWriter(stream);
xmlWriter.WriteNode(xmlReader, true);
return stream.ToArray();
}
Ho controllato, xmlReader
siano correttamente allineati dopo MoveToContent
presso l'elemento principale XML.
Devo fare qualcosa di sbagliato, ma cosa?
Grazie.
Ecco fatto. Non ho scaricato lo scrittore. Grazie. – mark
BTW, Grazie per il commento, cambierò la mia implementazione di conseguenza. – mark