Форум программистов, компьютерный форум, киберфорум
LINQ
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 02.01.2013
Сообщений: 16
1

Linq и xml (добавить элемент)

20.04.2013, 22:20. Показов 1670. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, помогите пожалуйста люди добрые.

Имеется xml файл со следующим ветвением:
XML
1
2
3
4
5
6
7
8
9
10
11
12
<root>
  <car id="1">
    <km>
      <date date="2013-04-17">50</date>
      <date date="2013-04-18">50</date>
    </km>
  </car>
  <car id="2">
    <km>
    </km>
  </car>
</root>
Вопрос. Как в элемент <km> родительского элемента <car id="2" > добавить новую запись, также как и в <car id="1" >: <date date="2013-04-18">70</date>,
чтобы в итоге получилось вот так:
XML
1
2
3
4
5
<car id="2">
    <km>
      <date date="2013-04-18">70</date>
    </km>
  </car>
Все это для C# с помощью Linq.
Нашел кучу уроков и примеров, но вот как добавлять запись в выше изложенный вариант, так и не встретил.
Спасибо.

Добавлено через 21 час 59 минут
Ура, нашел ответ:
подключаем
C++
1
2
3
using System.Xml;
using System.Xml.Linq;
using System.Xml.XPath;
и волшебная строчка ))
C#
1
2
XDocument doc = XDocument.Load("car.xml");
doc.XPathSelectElement("root/car[@id = '2']").Element("km").Add(new XElement("date", new XAttribute("date", 2013-04-18), 70));
на выходе имеем
XML
1
2
3
4
5
6
7
8
9
10
11
12
<root>
  <car id="1">
    <km>
...
    </km>
  </car>
  <car id="2">
    <km>
      <date date="2013-04-18">70</date>
    </km>
  </car>
</root>
Добавлено через 2 часа 38 минут
Тоже, только номер id добавляем из переменной:
C#
1
2
3
int id=2;
XDocument doc = XDocument.Load("car.xml");
doc.XPathSelectElement(string.Format("root/car[@id = \"{0}\"]",id)).Element("km").Add(new XElement("date", new XAttribute("date", 2013-04-18), 70));
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2013, 22:20
Ответы с готовыми решениями:

Xml linq добавить поле
Программно создаю следующий xml документ &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;library&gt; ...

Linq to Xml добавление атрибута в существующий элемент
ребят, я хз уже как делать. помогите плиз составить правильный запрос. вообщем у меня щас вот...

Как добавить данные в xml-файл, используя пространство имен System.Xml.Linq
Допустим, есть файл xml, я его взял из этого треда:...

Удалить элемент из XML файла LINQ to XML
Подскажите как из дерева XML удалить элемент &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; standalone=&quot;yes&quot;...

1
1 / 1 / 3
Регистрация: 17.08.2013
Сообщений: 37
29.08.2013, 08:19 2
а у меня не получилось... сделал то же самое, но xml не меняется..

Может кто увидит ошибку?

XML
1
2
3
4
5
<?xml version="1.0" encoding="utf-8"?>
<Database>
  <projects>
  </projects>
</Database>

C#
1
2
3
string a=textBox1.Text;
            XDocument doc = XDocument.Load("Database.xml");
            doc.XPathSelectElement("Database/projects").Add(new XElement(a) );
Добавлено через 11 минут
а всё. про save забыл..

Добавлено через 21 час 59 минут
а как сюда же добавить имя атрибута?

Добавлено через 58 секунд
то есть выбрать элемент с таким то атрибутом и добавить в него новый элемент

Добавлено через 17 минут
а всё понял.. выше прочитал
0
29.08.2013, 08:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2013, 08:19
Помогаю со студенческими работами здесь

LINQ не дает добавить новый узел в xml файл
Пытаюсь добавить узел между элементами xml, но что-то видно делаю не так. Пытаюсь найти нужный учел...

Может ли js добавить элемент в файл XML так, чтобы он записался в сам XML-файл?
Всем привет! Подскажите, может ли как-то javascript добавить элемент в файл XML так, чтобы он...

Добавить элемент в XML
Есть таблица, которая имеет поле с типом XML. XML имеет следующий вид: &lt;root&gt; &lt;Personals&gt;...

Добавить node в элемент (XML)
Имеется следующая структура xml: &lt;Test&gt; &lt;Question id=&quot;1&quot; Type=&quot;1&quot;&gt; &lt;Text&gt;Ваше...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru