С Новым годом! Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 27.03.2018
Сообщений: 5

Как правильно перебирать значения тегов xml?

29.06.2022, 11:34. Показов 607. Ответов 1
Метки php, xml (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго всем времени суток. Пытаюсь вытащить часть данных из 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
<root>
    <off1>
        <text1>text</text1>
    </off1>
    <off2>
        <text2>text</text2>
    </off2>
    <on>
        <N_Z>67415605</N_Z>
        <P>0</P>
        <ENT>
            <AC>2138833</AC>
            <V>3</V>
        </ENT>
        <Z>
            <E>2292331392</E>
            <K>3</K>
            <M>12</M>
            <SL>
                <DS2_N>
                    <2>I67.8</2>
                    
                </DS2_N>
                <U>
                    <N>
                        <ID1>text</ID1>
                        <ID2>text</ID2>
                    </N>
                </U>
                <U>
                    <N>
                        <ID1>text</ID1>
                        <ID2>text</ID2>
                    </N>
                </U>
            </SL>
        </Z>
    </on>
    <on>
        ...
    </on>
    <on>
        ...
    </on>
</root>

Из xml нужно всего несколько значений:
1) root->on->N_Z
2)root->on->Z->SL->U->N->ID1 (количество секций U разное, может 3 а может и 15)
Теги off не нужны
Когда структура файла одинакова, проблем не возникает. В цикле получаю значение каждого тега, записываю в переменную.
Не получается обойти все теги в секции U, могу получить только значение первой.

Я так понял мне нужно через SimpleXMLElement::children получать количесто тегов, или просто обойти всех имеющиеся детей тега SL. Опять же не пойму как определять чтобы обходить значения только секции U.
С сайта php.net не получается примеры разобрать.

Пробовал так:

PHP
1
2
3
$xml = simplexml_load_string($xmlstring);
$json = json_encode($xml);
$array = json_decode($json,TRUE);
Но как обойти значения (так понимаю массива) $array тоже не могу понять.

Может кто подскажет примерчик для моего варианта.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.06.2022, 11:34
Ответы с готовыми решениями:

Как правильно вывести значение?
Доброго времени суток! Есть БД с таблицей &quot;Catrgories&quot; в которой есть ячейки - &quot;img&quot;, &quot;yot&quot;, &quot;name&quot; ...

Как правильно вписать значение $stringa ?
Вот такой код (на PHP): $string = &quot;&lt;A href='javascript: function('&quot;.$a.&quot;')'&gt;Ссылка&lt;/a&gt;&quot;; PHP создаёт переменную нормально, но в...

Функция, которая бы по указанному пути изменяла значение атрибута или тега в XML-файле
Товарищи знатаки, помогите!!! Надо написаить ф-цию, которая бы по указанному пути изменяла значение атрибута или тега в XML-файле....

1
0 / 0 / 0
Регистрация: 27.03.2018
Сообщений: 5
30.06.2022, 12:50  [ТС]
Сам написал сам ответил

Добавлено через 12 минут
PHP
1
2
3
4
5
6
7
8
9
10
$xml = simplexml_load_file($file_xml); //открываем файл, записываем в переменную
 
foreach ($xml->on as $zap){ //перебираем секции on
    print $zap->N_Z;
    echo '<br>';
    foreach ($xml->on->Z->SL->U as $u){ //Перебираем секции u внутри секции on
        print $u->N->ID1;
        echo '<br>'; 
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.06.2022, 12:50
Помогаю со студенческими работами здесь

Как правильно добавить значение переменной к ссылке?
echo &quot;&lt;a class='store' href=?&quot;.$Operation.&quot;&gt;&quot;; Помогите её туда отправить люди добрые... Добавлено через 4 минуты echo &quot;&lt;a...

Парснг тегов, xml или как это называется
(?&lt;=&lt;div&gt;).+?(?=&lt;/div&gt;) Подскажите, будет ли работать такая конструкция? И как попутно с ней реализовать такой цикл, перебора всех...

Как правильно пользоваться тегом <input type="file"> ?
Добрый день. мне нужно передать файл в функцию. Файл выбирается с помощью формы. &lt;form enctype=&quot;multipart/form-data&quot;...

Логическая задача: как правильно перемешать три значения
Здравствуйте, создаю сайт с тестами, есть три варианта ответа, один из них верный как постоянно перемешивать правильный ответ в виде, что...

Как вывести значение между тегом?
Как вытащить слово Текст ? &lt;table width=&quot;98%&quot; border=&quot;0&quot; cellpadding=&quot;4&quot; cellspacing=&quot;0&quot; class=&quot;Hiphop&quot;&gt; Текст &lt;/table&gt; ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru