Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
First
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 817
Записей в блоге: 3
1

Разбор XML

30.09.2014, 10:45. Просмотров 1622. Ответов 5
Метки нет (Все метки)

Доброго времени суток. Ребята подскажите как получить значение в этой части XML

XML
1
2
3
4
5
6
7
8
<Direction Number="1">
                    <Amount>804</Amount>
                    <Sum>64.32</Sum>
                </Direction>
                <Direction Number="3">
                    <Amount>1251</Amount>
                    <Sum>100.08</Sum>
                </Direction>
Вот сама часть

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<Parameters>
                <Kind>1</Kind>
                <Text>Пробег по инотерритории, км</Text>
                <Stake>0.08</Stake>
                <Amount>2055</Amount>
                <Sum>164.4</Sum>
                <SumNew>250</SumNew>
                <Coefficient>0.95</Coefficient>
                <Coefficient_Sum>237.5</Coefficient_Sum>
                <Direction Number="1">
                    <Amount>804</Amount>
                    <Sum>64.32</Sum>
                </Direction>
                <Direction Number="3">
                    <Amount>1251</Amount>
                    <Sum>100.08</Sum>
                </Direction>
            </Parameters>

Я потом записываю в базу но нечего не получается не понимаю что не так делаю


PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
for ($i = 0; $i < count($analys -> Drivers -> Driver); $i++) {
                foreach ($analys->Daily_costs->Daily_Cost[$i]->Parameters as $params) {
                    $arrc['groupid'] = $id;
                    $arrc['driver'] = iconv('utf-8', 'windows-1251', $analys -> Drivers -> Driver[$i]);
                    $arrc['driverid'] = $analys -> Drivers -> Driver[$i]['id'];                 
                    $arrc['code'] = iconv('utf-8', 'windows-1251', $params -> Kind);
                    $arrc['descr'] = iconv('utf-8', 'windows-1251', $params -> Text);
                    $arrc['direct'] = iconv('utf-8', 'windows-1251', $params -> Direction);             
                    $arrc['dir_pos'] = 1;//$params -> dir;   доделать внос
                    $arrc['amount'] = $params -> dir -> Amount;
                    $arrc['sum'] = $params -> dir -> Sum;
                    $db -> query('INSERT INTO advs_tbl_am_new SET ?a', $arrc);
                    unset($arrc);               
                 }      
            }
Думаю что косяк где то тут

PHP
1
2
3
$arrc['dir_pos'] = 1;//$params -> dir;  тут должно стоять...
                    $arrc['amount'] = $params -> dir -> Amount;
                    $arrc['sum'] = $params -> dir -> Sum;

Подскажите. Заранее очень благодарен.

Добавлено через 21 час 39 минут
Всем привет! Ребят ну что не кто не подскажет как спарсить этот xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<Parameters>
                <Kind>1</Kind>
                <Text>Пробег по инотерритории, км</Text>
                <Stake>0.08</Stake>
                <Amount>2055</Amount>
                <Sum>164.4</Sum>
                <SumNew>250</SumNew>
                <Coefficient>0.95</Coefficient>
                <Coefficient_Sum>237.5</Coefficient_Sum>
                <DirectionTable>
                    <Direction>
                        <Number>1</Number>
                        <Amount>804</Amount>
                        <Sum>64.32</Sum>
                    </Direction>
                    <Direction>
                        <Number>3</Number>
                        <Amount>1251</Amount>
                        <Sum>100.08</Sum>
                    </Direction>
                </DirectionTable>
            </Parameters>

Просто получить все что есть значения. В массив я уже запишу. У меня вся трудность в том что бы достать

XML
1
2
3
4
5
6
7
8
9
10
11
12
<DirectionTable>
                    <Direction>
                        <Number>1</Number>
                        <Amount>804</Amount>
                        <Sum>64.32</Sum>
                    </Direction>
                    <Direction>
                        <Number>3</Number>
                        <Amount>1251</Amount>
                        <Sum>100.08</Sum>
                    </Direction>
                </DirectionTable>
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2014, 10:45
Ответы с готовыми решениями:

Разбор XML, полученного в результате GET-запроса
помогайте, знаний нет вообще как чувствую... Есть некогорый переменные в...

Разбор XML-файла курсов валют по патэрну
Производится разбор XML-файла курсов валют по патэрну. Не могу понять почему...

Как получить путь до конкретного элмента ? | XML | DOM | Simple XML
Добрый день! Как Вы уже знаете, в Simple XML, чтобы получить доступ в XML...

Из двух XML создать один, состоящий из тегов, которые присутствуют в обоих XML
Нужно на PHP реализовать такую задачку. Пример: Есть первый XML: &lt;html&gt; ...

Разбор JSON
Всем доброго времени суток! Столкнулся с проблемой и никак не могу ее...

5
AmsTaFFix
177 / 125 / 28
Регистрация: 30.10.2013
Сообщений: 686
30.09.2014, 16:45 2
так и какие проблемы при доставании значений? Я даже не увидел ваш код, который бы это делал. Может быть вы не знаете что искать? Поищите SimpleXML, xpath
0
First
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 817
Записей в блоге: 3
30.09.2014, 16:49  [ТС] 3
Ай ссори - код действительно забыл выложить


PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
for ($i = 0; $i < count($analys -> Drivers -> Driver); $i++) {
                foreach ($analys->Daily_costs->Daily_Cost[$i]->Parameters as $params) {
                    $arrc['groupid'] = $id;
                    $arrc['driver'] = iconv('utf-8', 'windows-1251', $analys -> Drivers -> Driver[$i]);
                    $arrc['driverid'] = $analys -> Drivers -> Driver[$i]['id'];                 
                    $arrc['code'] = iconv('utf-8', 'windows-1251', $params -> Kind);
                    $arrc['descr'] = iconv('utf-8', 'windows-1251', $params -> Text);
                    
                    
                    //$arrc['direct'] = conv('utf-8', 'windows-1251', $params -> DirectionTable[$i]->Number);   
                
                    
                    $arrc['dir_pos'] = 2; //<Number>3</Number>                       
                    $arrc['amount'] = 3; //<Amount>1251</Amount>
                    $arrc['sum'] = 4; //<Sum>100.08</Sum>
            
                    $db -> query('INSERT INTO advs_tbl_am_new SET ?a', $arrc);
                    unset($arrc);               
                 }      
            }
0
AmsTaFFix
177 / 125 / 28
Регистрация: 30.10.2013
Сообщений: 686
30.09.2014, 16:55 4
и что? в какой строке кода вы встречаете не те данные, которые ожидаете?
0
First
21 / 14 / 11
Регистрация: 09.06.2011
Сообщений: 817
Записей в блоге: 3
30.09.2014, 16:59  [ТС] 5
Вот тут я не могу получить данные

PHP
1
2
3
 $arrc['dir_pos'] = 2; //<Number>3</Number>                       
                    $arrc['amount'] = 3; //<Amount>1251</Amount>
                    $arrc['sum'] = 4; //<Sum>100.08</Sum>
XML
1
2
3
4
5
6
7
8
9
10
<Direction>
                        <Number>1</Number>
                        <Amount>804</Amount>
                        <Sum>64.32</Sum>
                    </Direction>
                    <Direction>
                        <Number>3</Number>
                        <Amount>1251</Amount>
                        <Sum>100.08</Sum>
                    </Direction>
как я понимаю что бы это достать нужно проходить циклом?

В общем что ни писал все равно вылетает ошибка.
0
AmsTaFFix
177 / 125 / 28
Регистрация: 30.10.2013
Сообщений: 686
01.10.2014, 10:04 6
какая именно ошибка?
0
01.10.2014, 10:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2014, 10:04

Разбор текста
Добрый вечер гуру PHP Задался темой разбиения текста по следующему принципу:...

Разбор кода
Здравствуйте! Разбираюсь с подгрузкой контента без перезарузки страницы, делал...

разбор html
Ребята! Задача: есть html, нужно из него узнать значение атрибутов нескольких...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru