PHP . SU
Программирование на PHP, MySQL и другие веб-технологии
Описание: Помогите с парсером XML
Поиск в теме | Версия для печати
3d_killer
Отправлено: 27 Июля, 2012 - 10:31:04
Участник
Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011
Откуда: Ростов-на-Дону
Помог: 21 раз(а)
CODE (
html ):
скопировать код в буфер обмена
<row>
<Code > 00000000285</ Code >
<Description> Профилированный лист С8 (ОЦ-РОССИЯ-БЦ-0,7)</ Description>
<Price> 268.55</ Price>
</ row>
<row>
<Code > 00000000286</ Code >
<Description> Профилированный лист С8 (ПЭ-РОССИЯ-9006-0,4)</ Description>
<Price> 215</ Price>
</ row>
<row>
<Code > 00000000287</ Code >
<Description> Профилированный лист С8 (ПЭ-РОССИЯ-9006-ОН)</ Description>
<Price> 240</ Price>
</ row>
<row>
<Code > 00000000288</ Code >
<Description> Профилированный лист С8 (ПЭ-РОССИЯ-9006-ПРЕМИУМ)</ Description>
<Price> 285</ Price>
</ row>
есть такой xml загружается из файла, как его пропарсить чтобы занести данные значения в БД?(Отредактировано автором: 27 Июля, 2012 - 10:32:26)
3d_killer
Отправлено: 27 Июля, 2012 - 11:37:43
Участник
Покинул форум
Сообщений всего: 1916
Дата рег-ции: Апр. 2011
Откуда: Ростов-на-Дону
Помог: 21 раз(а)
Спасибо, а если у меня попадается группа и нет цены (PRICE) как это проверить чтобы не записывать в базу?
допустим
(Отредактировано автором: 27 Июля, 2012 - 11:42:14)
partos.k
Отправлено: 27 Июля, 2012 - 13:32:29
Новичок
Покинул форум
Сообщений всего: 12
Дата рег-ции: Июль 2012
Помог: 0 раз(а)
Есть такой XML:
CODE (
htmlphp ):
скопировать код в буфер обмена
<? xml version= "1.0" encoding= "windows-1251" ?>
< message>
< datetime>
< day> 20120731</ day>
</ datetime>
< area>
< names> Рынок</ names>
< frukt name= "Яблоко" >
< sort code= "01" >
< value> 125000</ value>
</ sort>
< sort code= "02" >
< value> 5000</ value>
</ sort>
</ frukt>
< frukt name= "Вишня" >
< sort code= "03" >
< value> 200000</ value>
</ sort>
< sort code= "04" >
< value> 15000</ value>
</ sort>
</ frukt>
</ area>
</ message>
PHP:
скопировать код в буфер обмена
<?PHP
foreach ( $xml -> area -> frukt as $frukt )
{ $name = $frukt [ 'name' ] ;
$name = iconv ( "UTF-8" , "windows-1251" , $name ) ; echo "$name <br>" ;
foreach ( $xml -> area -> frukt -> sort as $sort ) {
$code = iconv ( "UTF-8" , "windows-1251" , $code ) ;
$value = $sort -> value ;
$value = iconv ( "UTF-8" , "windows-1251" , $value ) ;
echo " $code , $value <br>" ; }
}
?>
получаю не то что хочется ((
Яблоко
01 , 125000
02 , 5000
Вишня
01 , 125000
02 , 5000
подскажите как правильно сформировать код что бы получить правильный результат:
Яблоко
01 , 125000
02 , 5000
Вишня
03 , 200000
04 , 15000
partos.k
Отправлено: 27 Июля, 2012 - 15:51:10
Новичок
Покинул форум
Сообщений всего: 12
Дата рег-ции: Июль 2012
Помог: 0 раз(а)
CODE (
htmlphp ):
скопировать код в буфер обмена
<? PHP
foreach ( $xml -> area -> frukt as $frukt )
{ $name = $frukt [ 'name' ] ;
$name = iconv ( "UTF-8" , "windows-1251" , $name ) ;
echo "$name <br>" ;
foreach ( $xml -> area -> frukt -> sort as $sort ) {
$code = $sort [ 'code' ] ;
$code = iconv ( "UTF-8" , "windows-1251" , $code ) ;
$value = $sort -> value ;
$value = iconv ( "UTF-8" , "windows-1251" , $value ) ;
$attr = $sort -> attributes ( ) ;
$code = $attr -> code ;
echo " $code , $value , $attr <br>" ; }
}
Яблоко
01 , 125000, 01
02 , 5000, 02
Вишня
01 , 125000, 01
02 , 5000, 02
результат тот же что и был
Поиск в теме | Версия для печати
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« XML и его обработка »
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
Powered by ExBB FM 1.0 RC1. InvisionExBB