0

c# を使用して xml ドキュメントを読み取り、各エントリをリストビューに追加する asp.net ページを取得しました。

次に、ユーザーがリストビューに新しいエントリを追加する機能がありますが、ボタンイベントに保存する方法がわかりません。

これは、ドキュメントをロードするために必要なものです。

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 に保存するにはどうすればよいですか? ありがとう!

4

1 に答える 1

0

管理しているコントロールからデータソースを 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);
  }

于 2013-03-26T05:52:54.017 に答える