使用C#编辑xml

时间:2012-03-07 19:18:09

标签: c# xml xml-parsing

我有那个xml文档:

<?xml version="1.0" encoding="utf-8" ?>

<reminders>
  <reminder>
    <Title>Alarm1</Title>
    <Description>Desc1</Description>
    <Time>03/07/2012 10:11AM</Time>
    <snooze>1</snooze>
    <repeat>None</repeat>
  </reminder>
  <reminder>
    <Title>Alarm2</Title>
    <Description>Desc2</Description>
    <Time>03/07/2012 10:11AM</Time>
    <snooze>15</snooze>
    <repeat>Daily</repeat>
  </reminder>
</reminders>

并说我想创建一个完整的提醒孩子,如:

  <reminder>
    <Title>NEW-Alarm</Title>
    <Description>New-Desc</Description>
    <Time>03/07/2012 10:11AM</Time>
    <snooze>15</snooze>
    <repeat>Daily</repeat>
  </reminder>

我怎样才能在C#中做到这一点?

而且我想编辑一些孩子,比如:

<Title>NEW-Alarm</Title>

<Title>Modified-NEW-Alarm</Title>

我对XML很新鲜,我真的做到了最好,实际上我打开了13个xml的网页,但没有一个我真正需要的,所以我真的很感谢你的帮助。

3 个答案:

答案 0 :(得分:4)

我会看一下使用XDocument。您可能希望在网上搜索使用它创建XML的示例,但来自不可阻挡的Jon Skeet的答案是一个很好的起点:

XML file creation using XDocument in C#

希望有所帮助。

另见这些链接:

http://www.codeproject.com/Articles/169598/Parse-XML-Documents-by-XMLDocument-and-XDocument

http://www.leghumped.com/blog/2009/06/30/c-xml-with-xdocuments/

http://forums.asp.net/t/1736899.aspx/1?Help+using+XDocument+in+LINQ+with+ASP+Net+C+

答案 1 :(得分:1)

您需要查看XDocument作为打开XML文档的方法,然后查看XElement的文档,了解构建节点是多么容易。

每个文档页面都有很好的样本。

答案 2 :(得分:1)

使用XDocument class

加载文档

添加元素(使用您的数据编辑PATH):

XElement newEl = new XElement(new XElement("reminder",
                                new XElement("Title", "NEW-Alarm"),
                                new XElement("Description", "New-Desc"),
                                new XElement("Time", "03/07/2012 10:11AM"),
                                new XElement("snooze", "15"),
                                new XElement("repeat", "Daily")));
                    doc.Root.Add(newEl);
                    doc.Save(PATH);

要进行更改,我们必须首先找到元素(使用LINQ),然后应用SetValue方法。 http://msdn.microsoft.com/en-us/library/system.xml.linq.xelement.setvalue.aspx