[英]How to append in JSON file at specific position using PHP
[英]Append at a specific position using PHP files
我試圖在<?xml version="1.0" encoding="UTF-8"?>
之后的<?xml-stylesheet type='text/xsl' href='soap.xslt'?>
之后添加到xml文件,這實際上是SOAP響應,但是它只是將<?xml version="1.0" encoding="UTF-8"?>
之后的數據替換為樣式表的鏈接。
這是來自client.php的代碼部分,它將soap響應寫入文件並追加我想要的部分。
<?php
if(isset($_POST['search_input']))
{
try
{
$input = $_POST['search_input'];
$wsdl = "http://localhost/WebService/UDDI/90210Store.wsdl";
//$options = array('cache_wsdl'=>WSDL_CACHE_NONE, 'features'=>SOAP_SINGLE_ELEMENT_ARRAYS);
//$client = new SoapClient($wsdl, $options);
$debugOption = array('trace'=>true, 'cache_wsdl'=>WSDL_CACHE_NONE, 'features'=>SOAP_SINGLE_ELEMENT_ARRAYS);
$client = new SoapClient($wsdl, $debugOption);
$response = $client->viewDressPerPrice($input);
$soaprequest = "<strong>REQUEST:</strong><br/>" . htmlspecialchars($client->__getLastRequest()) . "<br/>";
$soapresponse = htmlspecialchars($client->__getLastResponse());
echo $soapresponse;
$file = 'soap.xml';
file_put_contents($file, $soapresponse);
$file2 = fopen($file, "r+");
fseek($file2, 64, SEEK_SET); //maybe the offset is not correct
fwrite($file2, "<?xml-stylesheet type='text/xsl' href='soap.xslt'?>");
fclose($file2);
//rest of the code
?>
這是xml文件的內容:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='soap.xslt'>
schemas.xmlsoap.org/soap/envelope/" //where it is not appending correctly
xmlns:ns1="http://www.shehzad.edu/webservice">
<SOAP-ENV:Body>
<ns1:Result>
<ns1:DressPerPrice>
<ns1:Name>Dress 2</ns1:Name>
<ns1:Price>20</ns1:Price>
<ns1:Image>2.jpeg</ns1:Image>
</ns1:DressPerPrice>
<ns1:DressPerPrice>
<ns1:Name>Dress 9</ns1:Name>
<ns1:Price>20</ns1:Price>
<ns1:Image>3.jpeg</ns1:Image>
</ns1:DressPerPrice>
<ns1:DressPerPrice>
<ns1:Name>Dress 10</ns1:Name>
<ns1:Price>20</ns1:Price>
<ns1:Image>0905C58A0179_1.jpeg</ns1:Image>
</ns1:DressPerPrice>
<ns1:DressPerPrice>
<ns1:Name>Dress 11</ns1:Name>
<ns1:Price>20</ns1:Price>
<ns1:Image>0905C58A0179_1.jpeg</ns1:Image>
</ns1:DressPerPrice>
<ns1:DressPerPrice>
<ns1:Name>Dress 12</ns1:Name>
<ns1:Price>20</ns1:Price>
<ns1:Image>0905C58A0179_1.jpeg</ns1:Image>
</ns1:DressPerPrice>
</ns1:Result>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
好像是在剪切並添加它,而不是正確地附加它。 任何幫助將不勝感激。 謝謝。
使用DOMDocument
操作XML文檔,例如
$doc = new DOMDocument();
$doc->load('file.xml');
$doc->insertBefore($doc->createProcessingInstruction('xml-stylesheet', "type='text/xsl' href='soap.xslt'"), $doc->documentElement);
$doc->save('file.xml');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.