【问题标题】:Saving xml Document into DataTable将 xml 文档保存到数据表中
【发布时间】:2013-03-13 22:56:10
【问题描述】:

我有一个 asp.net 页面,我在其中使用 c# 读取 xml 文档并将每个条目添加到列表视图中。

然后我可以让用户向列表视图添加新条目,但我不知道如何将其保存在按钮事件中。

这是我必须加载的文档。

protected void Button6_Click(object sender, EventArgs e)
         {
             XmlDocument xmlDocument = new XmlDocument();
        using (DataTable tabListView1 = new DataTable())
        {
            tabListView1.Columns.Add("value", Type.GetType("System.String"));
            xmlDocument.Load(AppDomain.CurrentDomain.BaseDirectory + "/XmlFile/ListView1.xml");
            XmlNodeList xmlNodeList = xmlDocument.SelectNodes("root/data[@open='1']");
            foreach (XmlNode xmlNode in xmlNodeList)
            {
                DataRow dr = tabListView1.NewRow();
                dr["value"] = xmlNode.InnerText;
                tabListView1.Rows.Add(dr);
            }
            ListView1.DataSource = tabListView1;
            ListView1.DataBind();
        }
        TextBox3.Text = "Microsoft";

    }

如何让它将更改保存回 ListView1.xml?谢谢!

【问题讨论】:

  • 你能发布一个你想要的 xml 输出的例子吗?例如,解释@open 属性的重要性会很有用。
  • -Microsoft Excel 2010Microsoft Powerpoint 2010Microsoft Outlook 2010
  • 所以用户可以添加一个新的软件条目,然后将其保存到该列表中,这就是我所追求的。我可以添加到列表中,只是不保存。

标签: c# asp.net datatable


【解决方案1】:

假设您可以从管理它的控件中将数据源作为 DataTable 取回,这应该会有所帮助。

private static void SaveXml(string pathAndFileName, DataTable source)
{
XmlDocument xmlDoc = new XmlDocument();
var root = xmlDoc.CreateElement("root");
xmlDoc.AppendChild(root);

     foreach (DataRow row in source.Rows)  
     {
        var dataElement = xmlDoc.CreateElement("data");
        var openAttribute = xmlDoc.CreateAttribute("open");
        openAttribute.Value = "1";
        dataElement.Attributes.Append(openAttribute);
        dataElement.InnerText = row["value"].ToString();
        root.AppendChild(dataElement);
     }
     xmlDoc.Save(pathAndFileName);
  }

【讨论】:

    猜你喜欢
    • 2017-09-09
    • 2012-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-26
    • 1970-01-01
    • 2014-12-16
    • 1970-01-01
    相关资源
    最近更新 更多