【发布时间】:2016-07-11 10:01:35
【问题描述】:
我有一个这样的 xml 文件:
<xml version="1.0" encoding="UTF-8">
<configes>
<Username>Administrator</Username>
<Password>123456</Password>
<Domain>sample</Domain>
<Url>http://sample/Organization.svc</Url>
</configes>
我通过以下方式将其加载到数据网格视图中:
DataGridViewRow row;
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(txtXmlAdd.Text);
XmlElement elm = xmlDoc.DocumentElement;
XmlNodeList nodeList = elm.ChildNodes;
foreach (XmlNode node in nodeList)
{
row = (DataGridViewRow)dgvXML.Rows[0].Clone();
row.Cells[0].Value = node.Name ;
row.Cells[1].Value = node.InnerText;
dgvXML.Rows.Add(row);
}
现在,我想更改一些属性(编辑值或添加新属性)并再次将其保存到同一个文件中。 我试试这个,但它不起作用:
DataTable dT = GetDataTableFromDGV(dgvXML);
DataSet dS = new DataSet();
dS.DataSetName = "configes";
dS.Tables.Add(dT);
dS.WriteXml(string path);
当 GetDataTableFromDGV 是这样的时候:
var dt = new DataTable();
dt.TableName="";
string firstCol = "";
string secCol = "";
object[] cellValues = new object[1];
foreach (DataGridViewRow row in dgv.Rows)
{
secCol = row.Cells[1].Value.ToString();
firstCol = row.Cells[0].Value.ToString();
dt.Columns.Add(firstCol);
cellValues[0] = row.Cells[1].Value;
dt.Rows.Add(cellValues);
}
return dt;
【问题讨论】:
-
我发布了不同的答案来解决您的问题,您可以将您的 xml 文件用作 DataTable :),我的答案在这里:stackoverflow.com/questions/38261881/… 和这里stackoverflow.com/questions/38180836/…
-
正如我在问题中所说,我可以毫无问题地加载 xml 文件。我只是想在更新 DGV 后以相同的格式保存它。
标签: c# xml datagridview