У меня есть сетевое представление с данными, которые я хотел бы сохранить в виде файла XML. Я использую только формы для окон последние две недели, поэтому мой опыт ограничен. Мне удалось сохранить файл, но я хочу знать, как сохранить его в формате, как в моем примере ниже. Буду благодарен за любую помощь
//This is what im getting
<?xml version="1.0" standalone="yes"?>
<DocumentElement>
<itemstable>
<ProcessName>batchmnt.exe</ProcessName>
<ProcessPID>DDD</ProcessPID>
<ProcessFileName>mark</ProcessFileName>
<Operation>WriteFile</Operation>
<ProcessLength>3</ProcessLength>
<ProcessPath>mark</ProcessPath>
<ProcessKey>batchmnt.exe|DDD|mark|WriteFile</ProcessKey>
</itemstable>
<DocumentElement>
//This is what im looking for
<Msg Date ="" Time="">
<Layer Name="Core">
<SourceLayer Name="PMC">
<Message ProcessName=""
PID =""
FileName=""
Operation=""
Length=""
Path="">
</Message>
</Layer>
</Msg>
//And this is my code
private void SaveXML()
{
string filename = "";
SaveFileDialog sfd = new SaveFileDialog
{
Filter = "XML (*.xml)|*.xml",
FileName = ""
};
if (sfd.ShowDialog() == DialogResult.OK)
{
filename = sfd.FileName;
Deleteifexists(filename);
DataTable dt = new DataTable("itemstable");
for (int i = 0; i < dataGridView1.ColumnCount; i++)
{
dt.Columns.Add(dataGridView1.Columns[i].Name, typeof(System.String));
}
DataRow myrow;
int icols = dataGridView1.Columns.Count;
foreach (DataGridViewRow drow in this.dataGridView1.Rows)
{
myrow = dt.NewRow();
for (int i = 0; i <= icols - 1; i++)
{
myrow[i] = drow.Cells[i].Value;
}
dt.Rows.Add(myrow);
}
dt.WriteXml(filename);
}
}