如何向C#中的数据集Writexml生成的XML添加额外信息?

时间:2009-03-17 09:22:49

标签: c# .net xml dataset

ds.WriteXml(strXmlTestCasePath, XmlWriteMode.IgnoreSchema); 

ds是dataset。我想在此XML中添加额外的行或额外信息。我该怎么做?

2 个答案:

答案 0 :(得分:5)

使用XmlWriter撰写DataSet。然后,您可以使用相同的对象来编写其他XML。

说明性代码:

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

答案 1 :(得分:1)

您不能简单地将更多XML写入序列化DataSet的末尾,因为如果您这样做,您将生成具有多个顶级元素的XML文档。使用XmlWriter,您需要执行以下操作:

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();
}

但是,如果你要做的是在序列化的DataSet内添加 ,那么这对你没有帮助。为此,您需要序列化DataSet,将其读入XmlDocument,然后使用DOM方法来操作XML。

或者,或者,在序列化DataTable之前创建并填充新的DataSet,然后在完成后将其删除。这实际上取决于您的实际需求。