在C#中向XML文件添加信息

时间:2011-09-05 03:27:45

标签: c# xml insert add

假设我有一个如下所示的XML文档:

 <BOOK>
  <NAME>Home</NAME>
  <ISBN>0-943396-04-2</ISBN>
  <PRICE>$0.82</PRICE>
 </BOOK>

我有一个程序,其目的是允许用户将另一本书添加到列表中...我会在Button上添加什么代码,我将其命名为“添加书籍”以使其添加另一组信息?

所以最终产品看起来像这样:

 <BOOK>
  <NAME>Home</NAME>
  <ISBN>0-943396-04-2</ISBN>
  <PRICE>$0.82</PRICE>
 </BOOK>
 <BOOK>
  <NAME>Work</NAME>
  <ISBN>0-85131-041-9</ISBN>
  <PRICE>$0.99</PRICE>
 </BOOK>

我正在使用Microsoft Visual C#2010 Express,如果有帮助的话。

1 个答案:

答案 0 :(得分:2)

首先,您需要在书籍列表中放置一个容器,以便

<BOOKS>
<BOOK>
  <NAME>Home</NAME>
  <ISBN>0-943396-04-2</ISBN>
  <PRICE>$0.82</PRICE>
 </BOOK>
</BOOKS>

那么你需要解析一下你将它存储在一个文件中吗?如果是那么

XElement.Load(filename);

否则你可以解析一个字符串

XElement el = XElement.Parse(@"<BOOKS><BOOK>
  <NAME>Home</NAME>
  <ISBN>0-943396-04-2</ISBN>
  <PRICE>$0.82</PRICE>
 </BOOK></BOOKS>");

然后创建一个并添加一本新书

var newBook = new XElement("BOOK", new[]
{ 
    new XElement("NAME", "thename"), 
    new XElement("ISBN", "isbn"), 
    new XElement("PRICE", ".71") 
});
el.Add(newBook);

并在需要时保存

el.Save(filename)

下面重新格式化的评论;

var el = XElement.Load("Ops.xml");
var newOp = new XElement("Operation", new[] {
    new XElement("Operation Name", textBox2.Text), 
    new XElement("Operation Date", dateTimePicker1.Value)
});
el.Add(newOp);