Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP
Войти
Регистрация
Восстановить пароль
 
INV13IBLE
0 / 0 / 0
Регистрация: 15.11.2017
Сообщений: 5
1

Как в строку между <<<XML вставить переменную

15.11.2017, 10:35. Просмотров 219. Ответов 8
Метки нет (Все метки)

Всем доброго дня! Прошу помощи - бьюсь уже 2 дня...
Как в строку переменной $string, вставить переменную с XML данными между: <<<XML и XML;

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$someArray2 = "<?xml version="1.0" encoding="UTF-8"?>
<movies type="documentary">
  <movie>
    <rating type="stars">5</rating>
  </movie>
</movies>";
 
$string2 = strstr($someArray2, '<?');
$string = <<<XML
 
{{ВОТ СЮДА НУЖНО ВСТАВИТЬ ПЕРЕМЕННУЮ $string2}}
 
XML;
 
$xml = simplexml_load_string($string);
var_dump($xml);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2017, 10:35
Ответы с готовыми решениями:

Вставить переменную в код
Всем доброго дня! Есть у меня такой код: ...

Нужно вставить код в переменную
:help::help::help::help::help: Ребята помогите плз нужно следующий код ,...

Как сохранить в переменную другую переменную + текст?
Нужно сохранить в одной переменной несколько переменных + текст, что бы потом...

Записать в переменную строку
Здравствуйте. $a='qwerty'; $array='mnbvc'; $str = &quot; a = &quot;.$a.&quot; array =...

Как вставить переменную java скрипт в php переменную
Здравия, форумчане! Извиняюсь за некорректность заголовка... Подскажите...

8
atanov
202 / 197 / 76
Регистрация: 26.05.2016
Сообщений: 1,251
15.11.2017, 10:38 2
что-то вроде такого:
PHP
1
$string = "<<<XML{{".$string2."}}XML";
0
INV13IBLE
0 / 0 / 0
Регистрация: 15.11.2017
Сообщений: 5
15.11.2017, 10:41  [ТС] 3
Пробовал уже так, в большей степени мне кажется что я изначально неправильный путь выбрал...
0
atanov
202 / 197 / 76
Регистрация: 26.05.2016
Сообщений: 1,251
15.11.2017, 10:42 4
А что скрипт должен делать?
0
INV13IBLE
0 / 0 / 0
Регистрация: 15.11.2017
Сообщений: 5
15.11.2017, 10:49  [ТС] 5
Проще говоря, у меня есть данные XML которые мне нужно передать переменной.
Ниже рабочий код - но данные я вставил вручную.

PHP
1
2
3
4
5
6
7
$string = <<<XML
<?xml version="1.0"?>
<TrackResponse><Response><TransactionReference><XpciVersion>1.0</XpciVersion></TransactionReference><ResponseStatusCode>1</ResponseStatusCode><ResponseStatusDescription>Success</ResponseStatusDescription></Response><Shipment><Shipper><ShipperNumber>E1048Y</ShipperNumber><Address><AddressLine1>PROFSOYUZNAYA STR, 56</AddressLine1><City>MOSCOW</City><PostalCode>117393</PostalCode><CountryCode>RU</CountryCode></Address></Shipper><ShipTo><Address><City>JAKARTA</City><PostalCode>12190</PostalCode><CountryCode>ID</CountryCode></Address></ShipTo><ShipmentWeight><UnitOfMeasurement><Code>KGS</Code></UnitOfMeasurement><Weight>0.20</Weight></ShipmentWeight><Service><Code>065</Code><Description>UPS WORLDWIDE SAVER</Description></Service><ReferenceNumber><Code>13</Code><Value>Y0042548841</Value></ReferenceNumber><ShipmentIdentificationNumber>Y0042548841</ShipmentIdentificationNumber><PickupDate>20171006</PickupDate><DeliveryDateUnavailable><Type>Scheduled Delivery</Type><Description>Scheduled Delivery Date is not currently available, please try back later</Description></DeliveryDateUnavailable><Package><TrackingNumber>Y0042548841</TrackingNumber><Activity><ActivityLocation><Address><City>JAKARTA</City><PostalCode>12000</PostalCode><CountryCode>ID</CountryCode></Address><Code>M6</Code><Description>OFFICE</Description><SignedForByName>GENTUR</SignedForByName></ActivityLocation><Status><StatusType><Code>D</Code><Description>DELIVERED</Description></StatusType><StatusCode><Code>KB</Code></StatusCode></Status><Date>20171011</Date><Time>160400</Time></Activity><Activity><ActivityLocation><Address><City>JAKARTA</City><CountryCode>ID</CountryCode></Address></ActivityLocation><Status><StatusType><Code>I</Code><Description>WAREHOUSE SCAN</Description></StatusType><StatusCode><Code>WH</Code></StatusCode></Status><Date>20171010</Date><Time>234300</Time></Activity><Activity><ActivityLocation><Address><City>JAKARTA</City><CountryCode>ID</CountryCode></Address></ActivityLocation><Status><StatusType><Code>X</Code><Description>THE RECEIVING BUSINESS WAS CLOSED AT THE TIME OF THE FIRST DELIVERY ATTEMPT. A SECOND ATTEMPT WILL BE MADE.</Description></StatusType><StatusCode><Code>G3</Code></StatusCode></Status><Date>20171010</Date><Time>172000</Time></Activity><Activity><ActivityLocation><Address><City>JAKARTA</City><CountryCode>ID</CountryCode></Address></ActivityLocation><Status><StatusType><Code>I</Code><Description>WAREHOUSE SCAN</Description></StatusType><StatusCode><Code>WH</Code></StatusCode></Status><Date>20171009</Date><Time>213400</Time></Activity><Activity><ActivityLocation><Address><City>JAKARTA</City><CountryCode>ID</CountryCode></Address></ActivityLocation><Status><StatusType><Code>I</Code><Description>DESTINATION SCAN</Description></StatusType><StatusCode><Code>DS</Code></StatusCode></Status><Date>20171009</Date><Time>130600</Time></Activity><Activity><ActivityLocation><Address><City>JAKARTA</City><CountryCode>ID</CountryCode></Address></ActivityLocation><Status><StatusType><Code>I</Code><Description>ARRIVAL SCAN</Description></StatusType><StatusCode><Code>AR</Code></StatusCode></Status><Date>20171009</Date><Time>125200</Time></Activity><Activity><ActivityLocation><Address><City>JAKARTA</City><CountryCode>ID</CountryCode></Address></ActivityLocation><Status><StatusType><Code>I</Code><Description>DEPARTURE SCAN</Description></StatusType><StatusCode><Code>DP</Code></StatusCode></Status><Date>20171009</Date><Time>112500</Time></Activity><Activity><ActivityLocation><Address><City>JAKARTA</City><CountryCode>ID</CountryCode></Address></ActivityLocation><Status><StatusType><Code>I</Code><Description>IMPORT SCAN</Description></StatusType><StatusCode><Code>IP</Code></StatusCode></Status><Date>20171009</Date><Time>111100</Time></Activity><Activity><ActivityLocation><Address/></ActivityLocation><Status><StatusType><Code>X</Code><Description>YOUR PACKAGE IS AWAITING RELEASE FROM THE CLEARING AGENCY. / YOUR PACKAGE WAS RELEASED BY THE CLEARING AGENCY.</Description></StatusType><StatusCode><Code>ER</Code></StatusCode></Status><Date>20171009</Date><Time>105300</Time></Activity><Activity><ActivityLocation><Address/></ActivityLocation><Status><StatusType><Code>X</Code><Description>YOUR PACKAGE IS AWAITING RELEASE FROM THE CLEARING AGENCY.</Description></StatusType><StatusCode><Code>ER</Code></StatusCode></Status><Date>20171009</Date><Time>100600</Time></Activity><Activity><ActivityLocation><Address/></ActivityLocation><Status><StatusType><Code>X</Code><Description>YOUR PACKAGE IS BEING PROCESSED AT THE CLEARANCE AGENCY.</Description></StatusType><StatusCode><Code>SR</Code></StatusCode></Status><Date>20171009</Date><Time>084400</Time></Activity><Activity><ActivityLocation><Address><City>JAKARTA</City><CountryCode>ID</CountryCode></Address></ActivityLocation><Status><StatusType><Code>I</Code><Description>ARRIVAL SCAN</Description></StatusType><StatusCode><Code>AR</Code></StatusCode></Status><Date>20171009</Date><Time>054500</Time></Activity><Activity><ActivityLocation><Address><City>CHANGI</City><CountryCode>SG</CountryCode></Address></ActivityLocation><Status><StatusType><Code>I</Code><Description>DEPARTURE SCAN</Description></StatusType><StatusCode><Code>DP</Code></StatusCode></Status><Date>20171009</Date><Time>045000</Time></Activity><Activity><ActivityLocation><Address><City>CHANGI</City><CountryCode>SG</CountryCode></Address></ActivityLocation><Status><StatusType><Code>I</Code><Description>ARRIVAL SCAN</Description></StatusType><StatusCode><Code>AR</Code></StatusCode></Status><Date>20171008</Date><Time>083300</Time></Activity><Activity><ActivityLocation><Address><City>SHENZHEN</City><CountryCode>CN</CountryCode></Address></ActivityLocation><Status><StatusType><Code>I</Code><Description>DEPARTURE SCAN</Description></StatusType><StatusCode><Code>DP</Code></StatusCode></Status><Date>20171008</Date><Time>050100</Time></Activity><Activity><ActivityLocation><Address><City>SHENZHEN</City><CountryCode>CN</CountryCode></Address></ActivityLocation><Status><StatusType><Code>I</Code><Description>ARRIVAL SCAN</Description></StatusType><StatusCode><Code>AR</Code></StatusCode></Status><Date>20171007</Date><Time>235300</Time></Activity><Activity><ActivityLocation><Address><City>KOELN (COLOGNE)</City><CountryCode>DE</CountryCode></Address></ActivityLocation><Status><StatusType><Code>I</Code><Description>DEPARTURE SCAN</Description></StatusType><StatusCode><Code>DP</Code></StatusCode></Status><Date>20171007</Date><Time>071000</Time></Activity><Activity><ActivityLocation><Address><City>KOELN (COLOGNE)</City><CountryCode>DE</CountryCode></Address></ActivityLocation><Status><StatusType><Code>I</Code><Description>ARRIVAL SCAN</Description></StatusType><StatusCode><Code>AR</Code></StatusCode></Status><Date>20171007</Date><Time>004300</Time></Activity><Activity><ActivityLocation><Address><City>MOSCOW</City><CountryCode>RU</CountryCode></Address></ActivityLocation><Status><StatusType><Code>I</Code><Description>DEPARTURE SCAN</Description></StatusType><StatusCode><Code>DP</Code></StatusCode></Status><Date>20171006</Date><Time>222900</Time></Activity><Activity><ActivityLocation><Address><City>MOSCOW</City><CountryCode>RU</CountryCode></Address></ActivityLocation><Status><StatusType><Code>I</Code><Description>ARRIVAL SCAN</Description></StatusType><StatusCode><Code>AR</Code></StatusCode></Status><Date>20171006</Date><Time>213500</Time></Activity><Activity><ActivityLocation><Address><City>MOSCOW</City><CountryCode>RU</CountryCode></Address></ActivityLocation><Status><StatusType><Code>I</Code><Description>DEPARTURE SCAN</Description></StatusType><StatusCode><Code>DP</Code></StatusCode></Status><Date>20171006</Date><Time>212500</Time></Activity><Activity><ActivityLocation><Address><City>MOSCOW</City><CountryCode>RU</CountryCode></Address></ActivityLocation><Status><StatusType><Code>I</Code><Description>EXPORT SCAN</Description></StatusType><StatusCode><Code>EP</Code></StatusCode></Status><Date>20171006</Date><Time>200100</Time></Activity><Activity><ActivityLocation><Address><City>MOSCOW</City><CountryCode>RU</CountryCode></Address></ActivityLocation><Status><StatusType><Code>I</Code><Description>ORIGIN SCAN</Description></StatusType><StatusCode><Code>OR</Code></StatusCode></Status><Date>20171006</Date><Time>200100</Time></Activity><Activity><ActivityLocation><Address><City>MOSCOW</City><CountryCode>RU</CountryCode></Address></ActivityLocation><Status><StatusType><Code>P</Code><Description>PICKUP SCAN</Description></StatusType><StatusCode><Code>PU</Code></StatusCode></Status><Date>20171006</Date><Time>155800</Time></Activity><Activity><ActivityLocation><Address><CountryCode>RU</CountryCode></Address></ActivityLocation><Status><StatusType><Code>M</Code><Description>BILLING INFORMATION RECEIVED</Description></StatusType><StatusCode><Code>MP</Code></StatusCode></Status><Date>20171006</Date><Time>120536</Time></Activity><PackageWeight><UnitOfMeasurement><Code>KGS</Code></UnitOfMeasurement><Weight>0.20</Weight></PackageWeight></Package></Shipment></TrackResponse>
XML;
 
$xml = simplexml_load_string($string);
var_dump($xml);
0
atanov
202 / 197 / 76
Регистрация: 26.05.2016
Сообщений: 1,251
15.11.2017, 10:54 6
а если echo (в 5-й строке) $string сделать, что выдаст?

Странно, т.к. переменная $string строковая, её значение должно вроде быть в кавычках...
0
INV13IBLE
0 / 0 / 0
Регистрация: 15.11.2017
Сообщений: 5
15.11.2017, 11:11  [ТС] 7
Если echo выводить, то false(bool)

А чем можно функцию simplexml_load_string не подскажешь?
$xml = simplexml_load_string($string);
var_dump($xml);
0
Jewbacabra
Эксперт PHP
3517 / 2921 / 1308
Регистрация: 24.04.2014
Сообщений: 8,893
15.11.2017, 11:12 8
PHP
1
2
3
4
5
$str = 'test';
$xml =<<<XML
<root>$str</root>
XML;
var_dump($xml);
https://ideone.com/bVvpmw
1
INV13IBLE
0 / 0 / 0
Регистрация: 15.11.2017
Сообщений: 5
15.11.2017, 11:21  [ТС] 9
Спасибо! XML явно не мой конек
0
15.11.2017, 11:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2017, 11:21

Как вставить в переменную текст и переменную вместе?
Вопрос для бывалых программистов наверное простой, но не где пока не нашел...

Как в include вставить переменную?
Возможно реализовать что то по результату похожее на функцию include, где часть...

Как вставить переменную правильно
$pos = $xpath-&gt;evaluate(&quot;count(//country/preceding-sibling::*)&quot;); Строка...


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

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

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