Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
PaWeLL
1 / 1 / 2
Регистрация: 16.11.2009
Сообщений: 63
#1

Изменить атрибут определенного элемента xml - C#/.NET 4.x

04.03.2014, 12:07. Просмотров 605. Ответов 2
Метки нет (Все метки)

Добрый день. Имеется вот такой xml файл.

XML
1
2
3
4
5
6
7
<?xml version="1.0" encoding="utf-8"?>
<departments>
  <dep id="1" name="dsfsd" path=" " />
  <dep id="2" name="gfdgdf" path=" " />
  <dep id="3" name="eeee" path=" " />
  <dep id="4" name="wwww" path=" " />
</departments>
Как можно получить элемент по определенному id и изменить его остальные атрибуты на нужные значения?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2014, 12:07
Я подобрал для вас темы с готовыми решениями и ответами на вопрос .NET 4.x Изменить атрибут определенного элемента xml (C#):

Не получается взять атрибут с определенного xml файла
private void button1_Click(object sender, EventArgs e) { ...

Атрибут в Xml
&lt;Client ID=&quot;4&quot;&gt; &lt;Index&gt;1&lt;/Index&gt; &lt;Address&gt;Moscow&lt;/Address&gt; ...

Как получить по атрибуту , атрибут что рядом с ним XML, C#
Как получить по атрибуту , атрибут что рядом с ним XML, C# например есть код...

Не получается LINQ to XML запрос к файлу, содержащему атрибут с двоеточиями
Один namespace уже определил: var ns = doc.Root.GetDefaultNamespace(); ...

LINQ to XML или XPath to XML (выбор одного элемента)
Прошу помощи в LINQ или XPath запросе к XML Вот XML: &lt;manifest...

XML определенного вида
Помогите програмно создать следуюющую XML &lt;MainMenu&gt; &lt;MainMenuItem...

2
kontuPauk
300 / 298 / 125
Регистрация: 29.01.2013
Сообщений: 638
Записей в блоге: 1
Завершенные тесты: 1
04.03.2014, 12:16 #2
Лучший ответ Сообщение было отмечено PaWeLL как решение

Решение

Вот так делаю:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
                XmlDocument document = new XmlDocument();
                document.Load(fileName);
 
                XmlNode root = document.DocumentElement;
                XmlNodeList nodeList = root.SelectNodes("dep");
 
                int i = 0;
                for (i = 0; i < nodeList.Count; i++)
                {
                    if (nodeList[i].Attributes["id"].Value.Equals(idNeedToChange.ToString()))
                    {
                        nodeList[i].Attributes["name"].Value = newName;
                        nodeList[i].Attributes["path"].Value = newPath;
                        break;
                    }
                }
 
                document.Save(fileName);
1
агерон
313 / 279 / 57
Регистрация: 12.10.2009
Сообщений: 1,086
04.03.2014, 12:28 #3
как то так
C#
1
2
3
4
var document = XDocument.Load("Data.xml");
var element= document.Root.Elements().First(x => Convert.ToInt32(x.Attribute("id").Value) == 1);
element.Attribute("path").Value = "/var/www";
document.Save("Data1.xml");
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2014, 12:28
Привет! Вот еще темы с решениями:

Изменить Alpha канал определенного пикселя
Здравствуйте, если не сложно помогите с решение моей проблемы, необходимо...

Сортировка до определенного элемента
Вообщем , задача такая : есть массив , мне нужно найти ,например , двадцатый по...

Поиск в List<string> определенного элемента
Здравствуйте. Как найти в списке List&lt;string&gt; Users = new List&lt;string&gt;();...

Сдвиг массива вправо с определенного элемента
Имеется массив. в нем записаны номера в порядке возрастания. Мне нужно найти...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru