2009-03-17 3 views

Antwort

1

Sie können einfach nicht mehr XML an das Ende eines serialisierten DataSet schreiben, denn wenn Sie das tun werden Sie ein XML-Dokument mit mehr als einem Element der obersten Ebene produzieren . Mit einem XmlWriter, würden Sie so etwas tun:

using (XmlWriter xw = XmlWriter.Create(strXmlTestCasePath)); 
{ 
    xw.WriteStartElement("container"); 
    ds.WriteXml(xw, XmlWriteMode.IgnoreSchema); 
    // from here on, you can use the XmlWriter to add XML to the end; you then 
    // have to wrap things up by closing the enclosing "container" element: 
    ... 
    xw.WriteEndElement(); 
} 

Aber das wird dir nicht helfen, wenn das, was Sie versuchen, XML-Elemente innerhalb die serialisierten DataSet zu tun hinzuzufügen ist. Um dies zu tun, müssen Sie die DataSet serialisieren, in eine XmlDocument einlesen und dann DOM-Methoden verwenden, um die XML zu manipulieren.

Alternativ können Sie eine neue DataTable erstellen und ausfüllen, bevor Sie die DataSet serialisieren und dann löschen, wenn Sie fertig sind. Es hängt wirklich davon ab, was Ihre tatsächlichen Anforderungen sind.

5

Verwenden Sie eine XmlWriter, um Ihre DataSet zu schreiben. Sie können dann dasselbe Objekt verwenden, um zusätzliches XML zu schreiben.

illustrative Code:

  System.Data.DataSet ds; 
      System.Xml.XmlWriter x; 
      ds.WriteXml(x); 
      x.WriteElementString("test", "value"); 
+0

Ich möchte, dass es in dasselbe XML schreibt – Arunachalam

+0

Es ist ein Verweis auf das gleiche Objekt, das Sie verwenden, um das xml und das zusätzliche xml Ihres DataSets zu schreiben. –

+0

eigentlich meine Frage ist ich habe meine Datenmenge in einem XML jetzt gespeichert, nachdem ich es in die XML geschrieben habe, muss ich eine zusätzliche Zeile in der XML, die ich jetzt gespeichert – Arunachalam

Verwandte Themen