我有一个Windows窗体应用程序,其中包含一个文本框(tbox
)和两个按钮:保存(b1
)和删除(b2
)和一个XML文件leaf.xml
每当我在文本框中放置任何内容然后单击保存(b1
)时,文本框中的内容将保存在leaf.xml
文件中。当我按删除(b2
)时,它将从文件leaf.xml
中删除,同时它将禁用保存按钮。
这是xml文件无论添加什么都会标记,假设我们添加测试它会 来吧
<Name>test</Name>
答案 0 :(得分:4)
您可能想查看XMLSerializer。它允许您将“ObjectClass”序列化/反序列化为流。同样,您可能希望查看File类,以打开文件流(传入XMLSerializer)并删除文件(File.Delete)。
答案 1 :(得分:0)
使用LINQ执行此操作....请参阅以下代码:
XDocument xmlDoc = XDocument.Load(Server.MapPath("People.xml"));
xmlDoc.Element("Persons").Add(new XElement("Person", new XElement("Name", txtName.Text),
new XElement("City", txtCity.Text), new XElement("Age", txtAge.Text)));
xmlDoc.Save(Server.MapPath("People.xml"));
lblStatus.Text = "Data successfully added to XML file.";
答案 2 :(得分:-1)
保存应该是这样的,删除适用于XPath(找到包含提供文本的Name元素,然后删除它,再次保存文件。)
如果任何具有相同名称的人在课程之外输入,这将无效。
Save_Click(object sender, EventArgs e)
{
FileStream fs = new FileStream("leaf.xml",FileMode.Open,FileAccess.Read, FileShare.ReadWrite);
XmlDocument doc = new XmlDocument();
doc.Load(fs);
XmlElement elem = doc.CreateElement("","Name","");
XmlText text = doc.CreateTextNode(textbox1.Text);
elem.AppendChild(text);
doc.RootNode.AppendChild(elem);
doc.Save("leaf.xml");
}