【发布时间】:2017-04-17 02:54:57
【问题描述】:
我有一个带有 XML 结构的 php 代码
$bookreq =<<<XML
<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>
<soap:Header>
<AuthenticationSoapHeader xmlns='http://epowerv5.amadeus.com.tr/WS'>
<WSUserName>****</WSUserName>
<WSPassword>****</WSPassword>
</AuthenticationSoapHeader>
</soap:Header>
<soap:Body>
<BookFlight xmlns='http://epowerv5.amadeus.com.tr/WS'>
<OTA_AirBookRQ RecommendationID='0' CombinationID='0'>
<POS />
<TravelerInfo>
--------HERE CODE--------
</TravelerInfo>
<Fulfillment>
<DeliveryAddress>
<AddressLine>Amadeus Rezervasyon Dağıtım Sistemleri A.Ş.</AddressLine>
<AddressLine>Muallim Naci Caddesi No.41 Kat 4 Ortaköy</AddressLine>
<CityName>Istanbul</CityName>
<CountryName Code='TR' />
<PostalCode>34345</PostalCode>
</DeliveryAddress>
<PaymentDetails>
<PaymentDetail PaymentType='None'>
<BillingAddress>
<AddressLine>Amadeus Rezervasyon Dağıtım Sistemleri A.Ş.</AddressLine>
<AddressLine>Muallim Naci Caddesi No.41 Kat 4 Ortaköy</AddressLine>
<CityName>Istanbul</CityName>
<CountryName Code='TR' />
<PostalCode>34345</PostalCode>
</BillingAddress>
</PaymentDetail>
</PaymentDetails>
<PaymentText Name='TripName' Text='Payment text' />
<PaymentText Name='Notes' Text='Payment notes' />
</Fulfillment>
<Ticketing TicketType='BookingOnly'/>
</OTA_AirBookRQ>
</BookFlight>
</soap:Body>
</soap:Envelope>
XML";
我需要粘贴代码
for($a=1;$a<=$adtpass;++$a)
{
$adtblock;
}
这里 --------这里的代码--------
当我将此代码粘贴到 xml 结构中时,出现错误
解析错误:语法错误,意外'for' (T_FOR)。
如何将这段代码添加到正确的 XML 代码中?
Donald123评论后,重写我的代码
$bookreq = <<<XML
<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>
<soap:Header>
<AuthenticationSoapHeader xmlns='http://epowerv5.amadeus.com.tr/WS'>
<WSUserName>****</WSUserName>
<WSPassword>****</WSPassword>
</AuthenticationSoapHeader>
</soap:Header>
<soap:Body>
<BookFlight xmlns='http://epowerv5.amadeus.com.tr/WS'>
<OTA_AirBookRQ RecommendationID='0' CombinationID='0'>
<POS />
<TravelerInfo>
XML;
for($a=1;$a<=$adtpass;++$a)
{
echo $adtblock;
}
<<<XML
</TravelerInfo>
<Fulfillment>
<DeliveryAddress>
<AddressLine>Amadeus Rezervasyon Dağıtım Sistemleri A.Ş.</AddressLine>
<AddressLine>Muallim Naci Caddesi No.41 Kat 4 Ortaköy</AddressLine>
<CityName>Istanbul</CityName>
<CountryName Code='TR' />
<PostalCode>34345</PostalCode>
</DeliveryAddress>
<PaymentDetails>
<PaymentDetail PaymentType='None'>
<BillingAddress>
<AddressLine>Amadeus Rezervasyon Dağıtım Sistemleri A.Ş.</AddressLine>
<AddressLine>Muallim Naci Caddesi No.41 Kat 4 Ortaköy</AddressLine>
<CityName>Istanbul</CityName>
<CountryName Code='TR' />
<PostalCode>34345</PostalCode>
</BillingAddress>
</PaymentDetail>
</PaymentDetails>
<PaymentText Name='TripName' Text='Payment text' />
<PaymentText Name='Notes' Text='Payment notes' />
</Fulfillment>
<Ticketing TicketType='BookingOnly'/>
</OTA_AirBookRQ>
</BookFlight>
</soap:Body>
</soap:Envelope>
XML;
这就是我所做的,当我在我的 cURL 请求中放入变量 $bookreq 时,这样的代码是否有效?
【问题讨论】:
-
阅读 heredoc php.net/manual/en/…
-
我不明白,你想要什么。如果您有一个 php 文件并想插入一些 php 代码,请打开一个编辑器并执行此操作。顺便说一句,您的第二个代码中有错误。在您插入的代码之后,您需要编写: "$bookreq1 .=
-
我不需要回显我的代码,当我在这个 xml 结构中粘贴 for-loop 时需要,然后可以在 curl 请求中使用 $bookreq