powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / LINQ to XML. Как осуществить выборку?
12 сообщений из 12, страница 1 из 1
LINQ to XML. Как осуществить выборку?
    #38498793
greshnik_05
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вечер добрый!
имеется вот такой XML файл

Код: 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.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
  <Name>Аренда</Name>
  <FormValues>
    <FormValue>
      <ID>1</ID>
      <Created>2013-12-12T10:47:36.1057181+04:00</Created>
      <Values>
        <string>6 месяцев</string>
        <string>Иван</string>
        <string>Ваня</string>
        <string>фывфыв</string>
        <string>гпморпм</string>
        <string>ор</string>
        <string>и</string>
      </Values>
    </FormValue>
    <FormValue>
      <ID>2</ID>
      <Created>2013-12-12T10:48:14.6857722+04:00</Created>
      <Values>
        <string>цкейц</string>
        <string>цукцу</string>
        <string>цукцукц</string>
        <string>цукцмца</string>
        <string>ацкцк</string>
        <string>ававаа</string>
        <string>аав</string>
      </Values>
    </FormValue>
  </FormValues>
  <FieldsForm>
    <Field>
      <Name>Срок аренды</Name>
    </Field>
    <Field>
      <Name>Арендадатель</Name>
    </Field>
    <Field>
      <Name>Съещик</Name>
    </Field>
    <Field>
      <Name>qwe</Name>
    </Field>
    <Field>
      <Name>ada</Name>
    </Field>
    <Field>
      <Name>fsdf</Name>
    </Field>
    <Field>
      <Name>asassdwefferfeferfadfasdfsdf1</Name>
    </Field>
  </FieldsForm>
</Configuration>



Нужно сделать выборку всех значений из элемента string меняя id.
Сделал так
Код: c#
1.
List<XElement> Values = xDoc.Root.Element("FormValues").Element("FormValue").Elements("Values").Elements("string").ToList();


Выдается результат где id =1. А нужно из других блоков тоже чтоб брала.
Вопрос: как выполнил запрос???
...
Рейтинг: 0 / 0
LINQ to XML. Как осуществить выборку?
    #38498855
greshnik_05
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Решил вопрос таким образом
Код: c#
1.
List<XElement> Values = xDoc.Root.Element("FormValues").Elements("FormValue").Where(t => int.Parse(t.Element("ID").Value) == i + 1).Elements("Values").Elements("string").ToList();
...
Рейтинг: 0 / 0
LINQ to XML. Как осуществить выборку?
    #38498969
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
IEnumerable<string> values = xDoc.XPathSelectElements(".//Values/string")
                                                  .Select(xl => xl.Value)
                                                  .Distinct()


Что-то я про изменение айди не понял...
...
Рейтинг: 0 / 0
LINQ to XML. Как осуществить выборку?
    #38513956
Snak2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток пытаюсь получить данные из xml файла через линк подскажите пожалуйста где ошибка:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
static void Main(string[] args)
        {
            const string fileName = @"C:\XML\0607003_002_002_69065266_2013_0201.xml";
            XDocument xDoc = XDocument.Load(fileName);
            var query = from title in xDoc.Element("report").Elements("title")
                        select new
                        {
                            okpo = title.Element("okpo").Value,
                            name = title.Element("name").Value
                        };

            foreach (var title in query)
                Console.WriteLine("{0} {1}", title.okpo, title.name);
            Console.ReadKey(true);
        }
...
Рейтинг: 0 / 0
LINQ to XML. Как осуществить выборку?
    #38513982
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Snak2013,

Ошибка в коде.

PS Не все знают, какой XML в C:\XML\0607003_002_002_69065266_2013_0201.xml
...
Рейтинг: 0 / 0
LINQ to XML. Как осуществить выборку?
    #38514044
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Ошибка в коде.
Но какая - неизвестно. Уважаемая публика должна это угадать сама.
...
Рейтинг: 0 / 0
LINQ to XML. Как осуществить выборку?
    #38514132
Snak2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
=Текст XML файла
Код: 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.
40.
41.
<?xml version="1.0" encoding="utf-8" ?> 
- <report code="845655855625" form="0010" year="2013" period="1" version="22-05-2013">
- <title>
  <item name="okpo" value="5556842358" />  
  <item name="name" value="Имя" /> 
  </title>
- <sections>
- <section code="1">
- <row code="1534">
  <col code="3">1265</col> 
  <col code="10">165</col> 
  <col code="11">6656</col> 
  </row>
- <row code="54761">
  <col code="3">2456</col> 
  <col code="10">25146541</col> 
  <col code="11">6565</col> 
  </row>
- <row code="24564">
  <col code="3">7</col> 
  <col code="11">7</col> 
  </row>
- <row code="22555">
  <col code="3">65</col> 
  <col code="11">12</col> 
  </row>
- <row code="2156">
  <col code="3">156</col> 
  <col code="10">1256</col> 
  <col code="11">566</col> 
  </row>
- <row code="303">
  <col code="3">17081</col> 
  <col code="10">16499</col> 
  <col code="11">582</col> 
  </row>
  </section>
  <section code="2" /> 
  <section code="3" /> 
  </sections>
  </report>




При компиляции кода ошибок нет но при попытки прочитать файл получаю исключение Ссылка на объект не указывает на экземпляр объекта.
...
Рейтинг: 0 / 0
LINQ to XML. Как осуществить выборку?
    #38514157
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
5.
6.
var query = from title in xDoc.Element("report").Elements("title").Elements("item")
            select new
            {
                name = title.Attribute("name").Value,
                value = title.Attribute("value").Value
            };
...
Рейтинг: 0 / 0
LINQ to XML. Как осуществить выборку?
    #38514273
Snak2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ
Код: c#
1.
2.
3.
4.
5.
6.
var query = from title in xDoc.Element("report").Elements("title").Elements("item")
            select new
            {
                name = title.Attribute("name").Value,
                value = title.Attribute("value").Value
            };



Попробовал но исключение по прежнему получаю тоже как и раньше "Ссылка на объект не указывает на экземпляр объекта." А выделенную ошибку исправил спасибо.
...
Рейтинг: 0 / 0
LINQ to XML. Как осуществить выборку?
    #38514300
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Snak2013,

странно, а у меня работает:

Код: c#
1.
2.
3.
4.
5.
6.
7.
            XDocument doc = XDocument.Parse(Resource1.Xml);

            IEnumerable<XElement> xElements = doc.Root.Element("title").Elements("item");
            foreach (var xElement in xElements)
            {
                Console.WriteLine("{0} - {1}", xElement.Attribute("name").Value, xElement.Attribute("value").Value);
            }
...
Рейтинг: 0 / 0
LINQ to XML. Как осуществить выборку?
    #38514308
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Snak2013Попробовал но исключение по прежнему получаю тоже как и раньше "Ссылка на объект не указывает на экземпляр объекта." А выделенную ошибку исправил спасибо.

Разницу понимаем?

Snak2013
Код: c#
1.
okpo = title.Element("okpo").Value,



МСУ
Код: c#
1.
okpo = title.Element("value").Value,



P.S. Внимательнее нужно код писать.
...
Рейтинг: 0 / 0
LINQ to XML. Как осуществить выборку?
    #38514328
Snak2013
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А вот теперь понял спасибо что разъяснили.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / LINQ to XML. Как осуществить выборку?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]