Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Извлечь из xml документа определенную информацию 
:(
    Опции темы
t2000
Дата 20.12.2013, 06:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 7.2.2010

Репутация: нет
Всего: нет



Здравствуйте. Подскажите пожалуйста такую вещь Мне нужно извлечь из xml документа определенную информацию
Сам xml документ имеет вид 
Код XML

<result>
    <ТегА>
        <ТегБ>8ae54718264c3438012655e9b8ae3a5c</ТегБ>
        <ТегВ>sent</ТегВ>
<EXTRA_STATE>…</EXTRA_STATE>
    </ТегА>
    <ТегА>
        <ТегБ>3801268ae564c3455e9b8ae3a5c47182</ТегБ>
        <ТегВ>success</ТегВ>
    </ТегА>
</result>
А именно информацию из ТегБ и ТегВ ,проблема именно в группировке я сделал так что в начале выводится вся инфа из тегов ТегБ а потом из тегов ТегВ, а мне нужно чтобы как то структурировать этот вывод парами ТегБ-ТегВ 
но я не могу понять как это сделать ,я сделал так 
Код C#

IEnumerable<string> infoSegs = (from id in elemTree.Descendants("ТегБ")
                                            select (string)id).Concat(from state in elemTree.Descendants("ТегВ ")
                                                                      select (string)state);
и все выводится сплошным текстом  
Подскажите как это сделать как мне нужно пожалуйста ? 
PM MAIL   Вверх
t2000
Дата 20.12.2013, 06:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 7.2.2010

Репутация: нет
Всего: нет



извините неправильно написал немного, фишка в том что групп тегов
<ТегА>
        <ТегБ>3801268ae564c3455e9b8ae3a5c47182</ТегБ>
        <ТегВ>success</ТегВ>
 </ТегА>
может быть сколько угодно
PM MAIL   Вверх
mihryak
Дата 23.12.2013, 14:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 731
Регистрация: 28.4.2007
Где: С-Пб

Репутация: 1
Всего: 36



Код

var tags = root.Elements("ТегА").Select(e => new {TagB = e.Element("ТегБ"), TagV = e.Element("ТегВ")});

PM MAIL ICQ   Вверх
Certain
Дата 23.1.2014, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 18.6.2008
Где: Moscow

Репутация: нет
Всего: 4



Немного подробнее
Код

XDocument doc = XDocument.Parse(@"<result>
    <ТегА>
        <ТегБ>8ae54718264c3438012655e9b8ae3a5c</ТегБ>
        <ТегВ>sent</ТегВ>
    </ТегА>
    <ТегА>
        <ТегБ>3801268ae564c3455e9b8ae3a5c47182</ТегБ>
        <ТегВ>success</ТегВ>
    </ТегА>
</result>");

var tags = doc.Elements("result")
               .Elements("ТегА")
               .Select(e => new {TagB = (string)e.Element("ТегБ"), 
                             TagV = (string)e.Element("ТегВ")});
foreach (var tag in tags)
{
    Console.WriteLine(tag);
}

--------------------
Работа программиста и шамана имеет много общего - оба боpмочyт непонятные слова, совершают непонятные действия и не могут объяснить, как оно работает.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | LINQ (Language-Integrated Query) | Следующая тема »


 




[ Время генерации скрипта: 0.1054 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.