Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.03.2014, 14:07   #1
ganeevez
Новичок
Джуниор
 
Регистрация: 26.03.2014
Сообщений: 1
По умолчанию Поиск нужного места в XML и добавление в него нового элемента / LINQ

День добрый! нужна ваша подсказка т.к. сам неделю уже мучаюсь..
есть простенькая XML:


Код:
<?xml version="1.0" encoding="utf-8"?>
<Adresa>
  <Adress>
    <Gorod>Moscow</Gorod>
  </Adress>
  <Adress>
    <Gorod>Kazan</Gorod>
  </Adress>  
</Adresa>
подскажите, как на C# сделать функцию, чтобы она нашла город Kazan и в него добавила элемент улицы, чтобы вот так получилось:

Код:
<?xml version="1.0" encoding="utf-8"?>
<Adresa>
  <Adress>
    <Gorod>Moscow</Gorod>
  </Adress>
  <Adress>
    <Gorod>Kazan</Gorod>
    <Street>Pushkina</street>
  </Adress>  
</Adresa>
кто подскажет тому небольшое вознагражждение на моб.)
ganeevez вне форума Ответить с цитированием
Старый 26.03.2014, 14:40   #2
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Не очень изящно, но почему бы и нет.
Создать объект Adresa (по первой XML), десериализовать Вашу XML.
Создать объект NewAdresa (по второй XML) наполнить его из первой и стерилизовать его.
dampirik вне форума Ответить с цитированием
Старый 26.03.2014, 15:41   #3
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
стерилизовать его.
правильно, неча ходить абы как, только стерилизация
eval вне форума Ответить с цитированием
Старый 26.03.2014, 15:52   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

можно через XPath выбрать нужный
Код:
/Adresa/Adress[Gorod='Kazan']

на linq это как-то так:
Код:
from e in xDoc.Descendants("Adress") where(e.Descendants("Gorod").First().Value=="Kazan") select e;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Добавление нового элемента Вероника99 Помощь студентам 7 24.12.2013 17:12
функция добавление нового элемента в дерево shilovec5377 Общие вопросы C/C++ 1 07.06.2013 10:39
запуск макроса с нужного места drollig Microsoft Office Excel 5 23.02.2012 22:16
добавление элемента массива при подключении нового пользователя Lokos Работа с сетью в Delphi 10 01.11.2010 02:27
binary_search поиск нужного элемента. the_deer_one Общие вопросы C/C++ 6 30.08.2010 20:22