Ich versuche, eine serialisierte Struktur zu einer vorhandenen XML-Datei hinzuzufügen. In dem folgenden CodeSerialisierte Struktur zu XML-Datei hinzufügen
- Ich Test, ob die Datei vorhanden ist.
- Wenn nicht, erstelle ich es.
- Wenn es existiert, möchte ich eine serialisierte Struktur (aus einem Speicher-Stream) zu der Datei mit der
.Add
Syntax hinzufügen. - Wenn
xmlDoc.Add(xmlSerialized);
ausgeführt wird, den folgenden Fehler wird
„Non Leerzeichen können nicht zum Inhalt hinzugefügt werden.“
Was mache ich falsch?
try
{
xmlDoc = XDocument.Load(path);
XmlSerializer xmlSerialized = new XmlSerializer(typeof(DataClass.Task));
MemoryStream memStream = new MemoryStream();
xmlSerialized.Serialize(memStream, taskStruct);
xmlDoc.Add(xmlSerialized);
bSuccess = true;
}
Hinzufügen memStream gibt Fehler nicht weißer Raum. Ich habe versucht xmlDoc.Root.Add (memStream) und erhalten Sie diese: System.IO.MemoryStream –
IrvineCAGuy
@ IrvineCAGuy - Haben Sie das neue Beispiel, das ich gepostet habe versucht? Es verwendet nicht MemoryStream, sondern verwendet die CreateWriter-Methode für XElement, um das serialisierte Objekt in ein XElement zu schreiben, das Sie dann dem vorhandenen XML-Dokument hinzufügen können. – Tim
deklarieren XElement newXml = neue XElement() -Anweisung ist in System.Linq.XElement nicht gültig. Es will zwei Argumente. Aber Ihre Lösung sieht so aus, als ob sie sich nähert. – IrvineCAGuy