ds.WriteXml(strXmlTestCasePath, XmlWriteMode.IgnoreSchema);
ds是dataset
。我想在此XML中添加额外的行或额外信息。我该怎么做?
答案 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
,然后在完成后将其删除。这实际上取决于您的实际需求。