редактирование XML с использованием C # - PullRequest
0 голосов
/ 07 марта 2012

У меня есть 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 ]

4 голосов
/ 07 марта 2012

Я бы взглянул на использование XDocument. Вы можете поискать в Интернете примеры создания XML с его помощью, но этот ответ от неудержимого Джона Скита - хорошее место для начала:

Создание файла XML с использованием XDocument в 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 голос
/ 07 марта 2012

Загрузить документ с помощью 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

1 голос
/ 07 марта 2012

Вам нужно взглянуть на XDocument как способ открыть ваш XML-документ, а затем взглянуть на документацию для XElement , чтобы увидеть, насколько просто создавать узлы.

На каждой странице документации есть отличные образцы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...