【问题标题】:Add Information To XML file in C#在 C# 中将信息添加到 XML 文件
【发布时间】:2011-09-05 03:27:44
【问题描述】:

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

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

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

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

 <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。

【问题讨论】:

    标签: c# xml insert add


    【解决方案1】:

    首先你需要在你的书单周围放一个容器

    <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);
    

    【讨论】:

    • 那么,我可以把 textbox1.Text 放在哪里?
    • 是的,将变量放入 XElement 构造函数的第二个参数中。
    • “System.Xml.XmlElement”不包含“加载”的定义
    • System.Xml.Linq.XElement 之后的命名空间和类错误
    • 我使用 System.Xml.Linq.XElement 添加到列表中。但是 XElement 不会变蓝...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 2018-07-13
    • 1970-01-01
    • 2018-06-27
    • 2011-09-24
    • 1970-01-01
    • 2018-11-28
    相关资源
    最近更新 更多