Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 27.01.2022
Сообщений: 58

xml -> linq

01.02.2022, 16:25. Показов 757. Ответов 6

Студворк — интернет-сервис помощи студентам
здраствуйте, как с помощью linq сделать чтобы книжки добавлялись в список столько раз, сколько есть цен
C#
1
List<Book> {id, title, store, cost}
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<books>
        <book>
            <id>1</id>
            <title>Title1</title>
            <prices>
                <price>
                    <store>Store1</store>
                    <cost>5</cost>
                </price>
                <price>
                    <store>Store2</store>
                    <cost>35</cost>
                </price>
                <price>
                    <store>Store2</store>
                    <cost>33</cost>
                </price>
            </prices>
    </book> 
        <book>   
            <id>2</id>
            <title>Title2</title>
            <prices>
                <price>
                    <store>Store33</store>
                    <cost>3</cost>
                </price>
                <price>
                    <store>Store8</store>
                    <cost>5</cost>
                </price>
                <price>
                    <store>Store9</store>
                    <cost>93</cost>
                </price>
            </prices>
    
        </book>
    </books>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.02.2022, 16:25
Ответы с готовыми решениями:

[xml linq] Как с помощью linq сделать чтобы имена авторов записывались в одну переменную string?
как с помощью linq сделать чтобы имена авторов записывались в одну переменную string? listBooks = (from item in...

Подсчитать количтво нодов в XML при помощи LINQ to XML
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;Root&gt; &lt;host&gt; 192.168.1.1 &lt;/host&gt; &lt;host&gt; 192.168.1.3 &lt;/host&gt; &lt;/Root&gt; как...

Объединение 2 xml файлов по ключу в 1 xml с использованием linq
День добрый. Я уже отписывался в другой теме с объединением 2 xml, но увы тот метод для меня слишком сложен. Видел на форумах ребята...

6
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
01.02.2022, 16:35
MariaDev, подробнее, пожалуйста. не очень понятно
0
1 / 1 / 0
Регистрация: 27.01.2022
Сообщений: 58
01.02.2022, 16:50  [ТС]
AndreyVorobey, получалася такая листа


id Title Store Coast
1 Title1 Store1 5
1 Title1 Store2 35
1 Title1 Store3 33
2 Title2 Store33 3
2 Title2 Store8 5
2 Title2 Store9 93

Добавлено через 6 минут
AndreyVorobey,

не до конца работает
дублирует те самые значения

C#
1
2
3
4
5
6
7
8
9
books=  from item in xDoc.Descendants("book)
    let price = item.Elements(ns+ "prices").Elements(ns+"price").FirstOrDefault()
    select new Book {
    id=item.id,
    title=item.title,
    store=price.store,
    cost=price.cos  
    
    }
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
02.02.2022, 10:35
MariaDev,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
            XDocument xDoc = XDocument.Load("books.xml");
 
            List<Book> books = new List<Book>();
 
            foreach (var book in xDoc.Element("books").Elements("book"))
            {                
                foreach (var price in book.Element("prices").Elements("price"))
                {
                    books.Add(new Book()
                    {
                        id = Convert.ToInt32(book.Element("id").Value),
                        title = book.Element("title").Value,
                        store = price.Element("store").Value,
                        cost = Convert.ToInt32(price.Element("cost").Value)
                    });
                }
            }
            foreach(var row in books)
            {
                Console.WriteLine($"{row.id} {row.title} {row.store} {row.cost}");
            }
0
1 / 1 / 0
Регистрация: 27.01.2022
Сообщений: 58
04.02.2022, 17:34  [ТС]
AndreyVorobey, а без foreach, с помощью linq не получится сделать?
0
2810 / 1679 / 885
Регистрация: 14.04.2015
Сообщений: 5,723
04.02.2022, 18:30
MariaDev, а чем Вам циклы мешают?
0
1 / 1 / 0
Регистрация: 27.01.2022
Сообщений: 58
07.02.2022, 10:08  [ТС]
AndreyVorobey, есть задание сделать с помощью linq
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.02.2022, 10:08
Помогаю со студенческими работами здесь

Создание документа XML через LINQ-to-XML
как создать новый документ xml через LINQ-to-xml XDocument doc =new XDocument(&quot;name.xml&quot;,Encoding.UTF8); ...

Создание xml документа посредством LINQ to XML
Добрый день. Мне необходимо создать xml-документ который будет включать следующие элементы: &lt;Envelope...

Linq to XML
Всем привет! Возник следующий вопрос. Делаю запрос к Web-сервису и в ответ получаю XML вида: ...

Linq to XML vs Seriazible
Здравствуйте Уважаемые Гуру, и не гуру. Хочу обратиться именно к спецам по разметке XML-документов в C#. Затеялся просто по фану в...

Разбор XML LINQ
есть XML в котором есть такой элемент &lt;N&gt; &lt;I Name=&quot;VASYA&quot; Old=&quot;99&quot; Life=&quot;Moscow&quot;&gt;&lt;/I&gt; &lt;I Name=&quot;Oleg&quot; Old=&quot;88&quot;...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru