получение данных xml

Risya

Новичок
Здравствуйте, столкнулась с вопросом, подключила Робокассу - но так как валюта вывода и ввода разная, валюту нужно переводить по курсу, из рублей в доллары, перед совершением платежа

курс валют получаю, к примеру:
PHP:
$file = file_get_contents("https://merchant.roboxchange.com/WebService/Service.asmx/GetRates?MerchantLogin=demo&IncCurrLabel=WMRM&OutSum=1&Language=ru");
получаю данные:

<RatesList>
<Result>
<Code>0</Code>
</Result>
<Groups>
<Group Code="EMoney" Description="Электронные валюты">
<Items>
<Currency Label="WMRM" Name="WMR">
<Rate IncSum="1"/>
</Currency>
</Items>
</Group>
</Groups>
</RatesList>

Не могу понять, как для такой структуры мне вытащить значение <Rate IncSum="1"/> в php?
 

С.

Продвинутый новичок
Вроде бы вы в курсе, что "такая структура" называется xml. Это как бы намекает, что можно использовать любой xml-парсер.
 
  • Like
Реакции: KorP

Risya

Новичок
в курсе, раз в разделе xml тему создала
если бы получилось пропарсить тему бы не создавала
 

Risya

Новичок
при выводе в php
PHP:
echo $file;
выводится "0", то есть значение Result -> Code, как мне вывести то что в Groups -> Rate IncSum
 

С.

Продвинутый новичок
Милочка, вы уж сначала определитесь, что у вас выводится при
PHP:
echo $file;
"<RatesList>...</RatesList>" или "0"?
 

Risya

Новичок
Спасибо за милочку конечно

я имею в виду в браузере выводится 0

а так конечно выводится:
<?xml version="1.0" encoding="utf-8"?>
<RatesList xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://merchant.roboxchange.com/WebService/">
<Result>
<Code>0</Code>
</Result>
<Groups>
<Group Code="EMoney" Description="Электронные валюты">
<Items>
<Currency Label="WMRM" Name="WMR">
<Rate IncSum="34.5" />
</Currency>
</Items>
</Group>
</Groups>
</RatesList>
обращаться циклом смысла нет, так как мне нужно всего одно значение
громоздкие функции парсерсеров мне сюда тоже не подходят,
я так понимаю что это по идее элементарно, но то ли лыжи не едут то ли я....
 

С.

Продвинутый новичок
Ну если вас не устраивают громоздкие функции парсерсеров, то используйте любые негромздкие.
Чтобы что-то вам посоветовать, то надо понять, какое отношение вы имеете к программированию. Профессия? Хобби? Заставили?
 

Risya

Новичок
Профессия? Хобби? Заставили?
- думаю историю моей жизни читать будет долго и неинтересно, поэтому если есть желание помочь скиньте ссылочку на пример который может мне помочь по вашему разумению.
если нет желания, то напишите анекдот на тему "женщины и техника", - посмеемся и пойду искать более добрых форумчан
 

Risya

Новичок
за мануалы спасибо, стала бы я подвергаться вашим издевательствам на форуме если бы я прочитав их поняла как сделать то что мне нужно

P.S. я брюнетка

Вообщем спасибо тебе добрый человек
 

С.

Продвинутый новичок
Я ведь не спроста спросил про уровень подготовки. Хотя уже все понятно.

Дело в том, что у нашего форума социальный договор с преподавателями информатики. Они не пишут веб-приложения, а мы не объясняем азы программирования для чайников.
 

Risya

Новичок
Ну, тогда извините что отняла своей темой ваши драгоценные минуты жизни

Пойду на свалку металлолома
 

С.

Продвинутый новичок
Да нет, что вы, что вы Всегда пожалуйста. Мы специально этот форум держим, чтоб свое превосходствоа над новичками показать. Себе приятные моменты доставить. Новичек нынче ленивый пошел, самостоятельно мозгами работать не хочет. Так ткнешь его носом в грязь -- и ему полезно, и себе приятно. Кто утерся и продолжает воспылать к знаниям, тот их получает. А кто по другим свалкам пошел побираться, тому счастливого пути.
 

Risya

Новичок
Не дождетесь, доброжелатель)

PHP:
preg_match("/IncSum=\"(.*?)\"/", $file, $m);
$arr = explode("\"",$m[0]);
echo $arr[1];
может и по чайниковски но работает

удачи в вашем нелегком деле!
 

~WR~

Новичок
PHP:
$xml = simplexml_load_string($file);
echo $xml->Groups->Group->Items->Currency->Rate['IncSum'];
 

С.

Продвинутый новичок
может и по чайниковски но работает
Нет, не по-чайнически. Вполне нормальный способ для данного конкретного случая. Жаль, что своей головой не дошли, решение-то примитивное. Но коль решили по мусоркам побираться, то видать так тому и быть. Не суждено видать вам узнать, зачем вторая строка в этом коде. Передавайте привет Зите и Гите, как повстречаетесь.
 

Risya

Новичок
могу вас опечалить, но своей головой)

хотелось красивого решения, как предложил ~WR~
Но регулярки оказалось достаточно
 
Сверху