С Новым годом! Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/19: Рейтинг темы: голосов - 19, средняя оценка - 4.89
3 / 3 / 1
Регистрация: 16.02.2010
Сообщений: 26
1

Парсинг XML find(). Как заставить find() выбирать элементы только на первом уровне?

24.10.2012, 21:17. Показов 3740. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пытаюсь распарсить 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
<reply>
    <sector>
        <users>
            <item>
                <sex>male</sex>
                <name>Vasya</name>
                <item>
                    <secret>xxxxxx</secret>
                    <lost>yyyyy</lost>
                </item>
                ...
            </item>
            <item>
                <sex>male</sex>
                <name>Alex</name>
                <item>
                    <secret>zzzzzz</secret>
                    <lost>hhhhhh</lost>
                </item>
                ...
            </item>
            <item>
                <sex>male</sex>
                <name>Max</name>
                <item>
                    <secret>assaad</secret>
                    <lost>gwagahh</lost>
                </item>
                ...
            </item>
            ...
        </users>
        ...
    </sector>
</reply>
Требуется обработать все item первого уровня в users. Пытаюсь делать так:

Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$(data).find('sector').each(
    function(){
        $(this).find('users').each(
            function(){
                itemCount = $(this).find('item').size();
                $(this).find('item').each(
                    function(){
                        name = $(this).find('name').text();
                        ...
                    }
                );
            }
        );
    }
);
Проблема в том, что строка при подсчете количества item считает также все item второго и ниже уровней.
itemCount = $(this).find('item').size(); / length работает не так как мне нужно. Может быть нужно указать какой-нибудь селектор?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2012, 21:17
Ответы с готовыми решениями:

Почему map.find не доработают для std::find
Добрый вечер, вопрос философский о разработчиках стандарта и последующих имплементациях...

Отличие find -name от find -path
Собственно, вопрос в названии темы. Подскажите, пожалуйста. Читаю man, но понять никак не могу.

JInstaller: :Install: Cannot find Joomla XML setup file
Здравствуйте, Друзья! При инсталляции на сайт каких-либо расширений-дополнений, высвечивается...

При сохранении файла ошибка Could not find a part of the path 'D:\BU_test.xml'
Пытаюсь сохранить файл xml таким образом xdoc.Save(&quot;D:/BU_test.xml&quot;); На локалке все работает,...

1
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
24.10.2012, 22:21 2
.children('селектор') - выбирает потомков первого уровня, соответствующих селектору.

Если нужно выбрать первый элемент, но необязательно, что он идёт на первом уровне. то
Javascript
1
.find('item'). eq(0);// среди ранее отобранных элементов выберет с указанным индексом
0
24.10.2012, 22:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2012, 22:21
Помогаю со студенческими работами здесь

Find только среди файлов, имена которых содержатся в файле
Возможны ли сделать так, чтобы find -size -46 искал только среди файлов, имена которых содержатся в...

STL алгоритм find, найти элементы
Здраствуйте! У меня есть например массив vector&lt;int&gt; mas = {1,2,3,4,4,4,5,6}; Найти надо элемент...

Given-Find символьно, найти элементы перестановочной матрицы
...не могу понять, почему не решается. Нужно по заданной матрице A размерностью 2x2 (элементы...

App.Selection.Find.Execute () - поиск и замена работают только в первой ячейке, но не во второй, третьей и т. Д
Здравствуйте, я пытаюсь заполнить документ данными Excel, но я могу заполнить только первую ячейку...


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

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