Jak usunąć lub edytować n-ty element z pliku xml za pomocą LINQ?

0

Mam coś takiego:

<Items>
  <Item>
    <name>MaeDQzwR8vVUDbYrR5giNA==</name>
    <nick>YsiD+Y4TdOg2D85XWszhLg==</nick>
    <pw>p6kVN9eL3Lvx/EKj2QJzuA==</pw>
    <note>9w03rUnfD24=</note>
  </Item>
  <Item>
    <name>MaeDQzwR8vVUDbYrR5giNA==</name>
    <nick>YsiD+Y4TdOg2D85XWszhLg==</nick>
    <pw>p6kVN9eL3Lvx/EKj2QJzuA==</pw>
    <note>9w03rUnfD24=</note>
  </Item>
  <Item>
    <name>MaeDQzwR8vVUDbYrR5giNA==</name>
    <nick>YsiD+Y4TdOg2D85XWszhLg==</nick>
    <pw>p6kVN9eL3Lvx/EKj2QJzuA==</pw>
    <note>9w03rUnfD24=</note>
  </Item>
</Items>

Chciałbym teraz usunąć cały drugi element Item lub edytować go, jak się do niego dostać najlepiej za pomocą LINQ? Nie mogę go przeszukać po jakiejś wartości, bo wartości mogą się powtarzać.

1
            XDocument xdoc = XDocument.Load("test.xml");
            //jak wiesz ze to <Item>:
            var items = xdoc.Descendants("Item");
            //a jak nie znasz nazwy:
            //var items = xdoc.Descendants("Items").Elements();
            int i = 0;
            foreach (var item in items) {
                if (i == 1) { //2 element
                    item.Remove();
                    break;
                }
                i++;
            }
            xdoc.Save("test.xml");

PS: Możliwe że zaraz znajdzie się ktoś kto to zrobi lepiej ale ja się dopiero uczę C#

0

O dzięki, to robię tak jak pokazałeś.

1 użytkowników online, w tym zalogowanych: 0, gości: 1