我尝试将List<string>
的原始XML数据部分附加到XML文件中,如下所示:
XmlDocument doc = new XmlDocument();
XmlNode docnode = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
doc.AppendChild(docnode);
doc.AppendChild(doc.CreateProcessingInstruction("xml-stylesheet", "type='text/xsl' href=''"));
XmlElement Ver = doc.CreateElement("Run");
Ver.SetAttribute("version", "3.0");
XmlElement elem = doc.CreateElement("List");
elem.SetAttribute("Name", ObjectName_string);
doc.AppendChild(Ver);
doc.DocumentElement.AppendChild(elem);
doc.Save(@"1.xml");
List<string> data = Event_table.Rows.OfType<DataRow>().Select(dr=>dr.Field<string>(0)).ToList();
using (var writer = new StreamWriter(@"1.xml", append:true))
{
writer.WriteLine("<cmList>");
foreach (var row in data)
{
writer.WriteLine(row);
}
writer.WriteLine("</cmList>");
}
XML文件:这是最终结果应该是
的方式<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href=''?>
<Run version="3.0" startTime="3.0" endTime="3.0">
<List Name="ABCD" />
<cmList>
**// My Raw data should come here from List<string> data**
</cmList>
</Run>
如何将RAW XML数据List<string> data
添加到我尝试执行<cmList>
的元素write.BaseStream.Seek
之间,但这会给我一个错误:
无法向后搜索以覆盖以前存在于a中的数据 文件以追加模式打开。
答案 0 :(得分:0)
我在很多个月前写过一篇专门讨论如何将DataSet / DataTable中的数据转换为XML(专门用于Excel)的博客。看来这可能会对你有所帮助。只需排除告诉XML文件在Excel中打开的说明。它在VB.NET中,因此您必须使用类似的C#代码。
答案 1 :(得分:0)
也许我不了解您示例中的内容,但为什么在将xml保存到文件之前不附加原始数据?
--mirror