Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php(SOAP响应格式)中解析xml?_Php_Xml_Soap_Xml Parsing - Fatal编程技术网

如何在php(SOAP响应格式)中解析xml?

如何在php(SOAP响应格式)中解析xml?,php,xml,soap,xml-parsing,Php,Xml,Soap,Xml Parsing,如何将下面的xml解析为html 我尝试过一些东西,但并不总是对我有效 这是我的代码: $xml2 = '<soap:envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:body><ins

如何将下面的xml解析为html

我尝试过一些东西,但并不总是对我有效

这是我的代码:

$xml2 = '<soap:envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:body><insttraderesponse xmlns="http://tsetmc.com/"><insttraderesult><xs:schema id="TradeSelectedDate" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"><xs:element name="TradeSelectedDate" msdata:isdataset="true" msdata:usecurrentlocale="true"><xs:complextype><xs:choice minoccurs="0" maxoccurs="unbounded"><xs:element name="TradeSelectedDate"><xs:complextype><xs:sequence><xs:element name="InsCode" type="xs:long" minoccurs="0"><xs:element name="DEven" type="xs:int" minoccurs="0"><xs:element name="HEven" type="xs:int" minoccurs="0"><xs:element name="PClosing" type="xs:decimal" minoccurs="0"><xs:element name="IClose" type="xs:unsignedByte" minoccurs="0"><xs:element name="YClose" type="xs:unsignedByte" minoccurs="0"><xs:element name="PDrCotVal" type="xs:decimal" minoccurs="0"><xs:element name="ZTotTran" type="xs:decimal" minoccurs="0"><xs:element name="QTotTran5J" type="xs:decimal" minoccurs="0"><xs:element name="QTotCap" type="xs:decimal" minoccurs="0"><xs:element name="PriceChange" type="xs:decimal" minoccurs="0"><xs:element name="PriceMin" type="xs:decimal" minoccurs="0"><xs:element name="PriceMax" type="xs:decimal" minoccurs="0"><xs:element name="PriceYesterday" type="xs:decimal" minoccurs="0"></xs:element></xs:element></xs:element></xs:element></xs:element></xs:element></xs:element></xs:element></xs:element></xs:element></xs:element></xs:element></xs:element></xs:element></xs:sequence></xs:complextype></xs:element></xs:choice></xs:complextype></xs:element></xs:schema><diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1"><tradeselecteddate xmlns=""><tradeselecteddate diffgr:id="TradeSelectedDate1" msdata:roworder="0"><inscode>70270965300262393</inscode><deven>20171007</deven><heven>122506</heven><pclosing>1149.00</pclosing><iclose>0</iclose><yclose>3</yclose><pdrcotval>1120.00</pdrcotval><ztottran>30</ztottran><qtottran5j>110107</qtottran5j><qtotcap>123589100.00</qtotcap><pricechange>-31.00</pricechange><pricemin>1119.00</pricemin><pricemax>1151.00</pricemax><priceyesterday>1151.00</priceyesterday></tradeselecteddate><tradeselecteddate diffgr:id="TradeSelectedDate2" msdata:roworder="1"><inscode>70270965300262393</inscode><deven>20171008</deven><heven>115823</heven><pclosing>1138.00</pclosing><iclose>0</iclose><yclose>3</yclose><pdrcotval>1096.00</pdrcotval><ztottran>68</ztottran><qtottran5j>406755</qtottran5j><qtotcap>450144550.00</qtotcap><pricechange>-53.00</pricechange><pricemin>1096.00</pricemin><pricemax>1140.00</pricemax><priceyesterday>1149.00</priceyesterday></tradeselecteddate><tradeselecteddate diffgr:id="TradeSelectedDate3" msdata:roworder="2"><inscode>70270965300262393</inscode><deven>20171009</deven><heven>122944</heven><pclosing>1138.00</pclosing><iclose>0</iclose><yclose>3</yclose><pdrcotval>1130.00</pdrcotval><ztottran>26</ztottran><qtottran5j>40162</qtottran5j><qtotcap>45074488.00</qtotcap><pricechange>-8.00</pricechange><pricemin>1111.00</pricemin><pricemax>1136.00</pricemax><priceyesterday>1138.00</priceyesterday></tradeselecteddate><tradeselecteddate diffgr:id="TradeSelectedDate4" msdata:roworder="3"><inscode>70270965300262393</inscode><deven>20171010</deven><heven>122853</heven><pclosing>1135.00</pclosing><iclose>0</iclose><yclose>3</yclose><pdrcotval>1099.00</pdrcotval><ztottran>41</ztottran><qtottran5j>142754</qtottran5j><qtotcap>158049769.00</qtotcap><pricechange>-39.00</pricechange><pricemin>1099.00</pricemin><pricemax>1138.00</pricemax><priceyesterday>1138.00</priceyesterday></tradeselecteddate><tradeselecteddate diffgr:id="TradeSelectedDate5" msdata:roworder="4"><inscode>70270965300262393</inscode><deven>20171011</deven><heven>123747</heven><pclosing>1134.00</pclosing><iclose>0</iclose><yclose>3</yclose><pdrcotval>1149.00</pdrcotval><ztottran>70</ztottran><qtottran5j>274386</qtottran5j><qtotcap>309699317.00</qtotcap><pricechange>14.00</pricechange><pricemin>1085.00</pricemin><pricemax>1160.00</pricemax><priceyesterday>1135.00</priceyesterday></tradeselecteddate><tradeselecteddate diffgr:id="TradeSelectedDate6" msdata:roworder="5"><inscode>70270965300262393</inscode><deven>20171014</deven><heven>122804</heven><pclosing>1134.00</pclosing><iclose>0</iclose><yclose>3</yclose><pdrcotval>1136.00</pdrcotval><ztottran>20</ztottran><qtottran5j>132078</qtottran5j><qtotcap>150068268.00</qtotcap><pricechange>2.00</pricechange><pricemin>1134.00</pricemin><pricemax>1147.00</pricemax><priceyesterday>1134.00</priceyesterday></tradeselecteddate><tradeselecteddate diffgr:id="TradeSelectedDate7" msdata:roworder="6"><inscode>70270965300262393</inscode><deven>20171015</deven><heven>122858</heven><pclosing>1136.00</pclosing><iclose>0</iclose><yclose>3</yclose><pdrcotval>1164.00</pdrcotval><ztottran>30</ztottran><qtottran5j>163795</qtottran5j><qtotcap>189048927.00</qtotcap><pricechange>30.00</pricechange><pricemin>1138.00</pricemin><pricemax>1164.00</pricemax><priceyesterday>1134.00</priceyesterday></tradeselecteddate><tradeselecteddate diffgr:id="TradeSelectedDate8" msdata:roworder="7"><inscode>70270965300262393</inscode><deven>20171016</deven><heven>122610</heven><pclosing>1175.00</pclosing><iclose>0</iclose><yclose>3</yclose><pdrcotval>1192.00</pdrcotval><ztottran>145</ztottran><qtottran5j>1370542</qtottran5j><qtotcap>1619653296.00</qtotcap><pricechange>56.00</pricechange><pricemin>1140.00</pricemin><pricemax>1192.00</pricemax><priceyesterday>1136.00</priceyesterday></tradeselecteddate><tradeselecteddate diffgr:id="TradeSelectedDate9" msdata:roworder="8"><inscode>70270965300262393</inscode><deven>20171017</deven><heven>122038</heven><pclosing>1177.00</pclosing><iclose>0</iclose><yclose>3</yclose><pdrcotval>1175.00</pdrcotval><ztottran>35</ztottran><qtottran5j>530700</qtottran5j><qtotcap>626571778.00</qtotcap><pricechange>0.00</pricechange><pricemin>1175.00</pricemin><pricemax>1189.00</pricemax><priceyesterday>1175.00</priceyesterday></tradeselecteddate><tradeselecteddate diffgr:id="TradeSelectedDate10" msdata:roworder="9"><inscode>70270965300262393</inscode><deven>20171018</deven><heven>122948</heven><pclosing>1177.00</pclosing><iclose>0</iclose><yclose>3</yclose><pdrcotval>1154.00</pdrcotval><ztottran>30</ztottran><qtottran5j>122213</qtottran5j><qtotcap>143987917.00</qtotcap><pricechange>-23.00</pricechange><pricemin>1154.00</pricemin><pricemax>1190.00</pricemax><priceyesterday>1177.00</priceyesterday></tradeselecteddate><tradeselecteddate diffgr:id="TradeSelectedDate11" msdata:roworder="10"><inscode>70270965300262393</inscode><deven>20171021</deven><heven>122944</heven><pclosing>1175.00</pclosing><iclose>0</iclose><yclose>3</yclose><pdrcotval>1130.00</pdrcotval><ztottran>43</ztottran><qtottran5j>146005</qtottran5j><qtotcap>168988615.00</qtotcap><pricechange>-47.00</pricechange><pricemin>1130.00</pricemin><pricemax>1190.00</pricemax><priceyesterday>1177.00</priceyesterday></tradeselecteddate><tradeselecteddate diffgr:id="TradeSelectedDate12" msdata:roworder="11"><inscode>70270965300262393</inscode><deven>20171022</deven><heven>122945</heven><pclosing>1175.00</pclosing><iclose>0</iclose><yclose>3</yclose><pdrcotval>1152.00</pdrcotval><ztottran>13</ztottran><qtottran5j>23368</qtottran5j><qtotcap>27075280.00</qtotcap><pricechange>-23.00</pricechange><pricemin>1152.00</pricemin><pricemax>1175.00</pricemax><priceyesterday>1175.00</priceyesterday></tradeselecteddate><tradeselecteddate diffgr:id="TradeSelectedDate13" msdata:roworder="12"><inscode>70270965300262393</inscode><deven>20171023</deven><heven>115455</heven><pclosing>1173.00</pclosing><iclose>0</iclose><yclose>3</yclose><pdrcotval>1159.00</pdrcotval><ztottran>31</ztottran><qtottran5j>189632</qtottran5j><qtotcap>219538910.00</qtotcap><pricechange>-16.00</pricechange><pricemin>1151.00</pricemin><pricemax>1169.00</pricemax><priceyesterday>1175.00</priceyesterday></tradeselecteddate><tradeselecteddate diffgr:id="TradeSelectedDate14" msdata:roworder="13"><inscode>70270965300262393</inscode><deven>20171024</deven><heven>111715</heven><pclosing>1173.00</pclosing><iclose>0</iclose><yclose>3</yclose><pdrcotval>1140.00</pdrcotval><ztottran>13</ztottran><qtottran5j>18633</qtottran5j><qtotcap>21484920.00</qtotcap><pricechange>-33.00</pricechange><pricemin>1140.00</pricemin><pricemax>1168.00</pricemax><priceyesterday>1173.00</priceyesterday></tradeselecteddate><tradeselecteddate diffgr:id="TradeSelectedDate15" msdata:roworder="14"><inscode>70270965300262393</inscode><deven>20171025</deven><heven>121800</heven><pclosing>1173.00</pclosing><iclose>0</iclose><yclose>3</yclose><pdrcotval>1140.00</pdrcotval><ztottran>14</ztottran><qtottran5j>23800</qtottran5j><qtotcap>27349000.00</qtotcap><pricechange>-33.00</pricechange><pricemin>1140.00</pricemin><pricemax>1165.00</pricemax><priceyesterday>1173.00</priceyesterday></tradeselecteddate><tradeselecteddate diffgr:id="TradeSelectedDate16" msdata:roworder="15"><inscode>70270965300262393</inscode><deven>20171028</deven><heven>122757</heven><pclosing>1171.00</pclosing><iclose>0</iclose><yclose>3</yclose><pdrcotval>1135.00</pdrcotval><ztottran>24</ztottran><qtottran5j>103809</qtottran5j><qtotcap>118768169.00</qtotcap><pricechange>-38.00</pricechange><pricemin>1135.00</pricemin><pricemax>1169.00</pricemax><priceyesterday>1173.00</priceyesterday></tradeselecteddate><tradeselecteddate diffgr:id="TradeSelectedDate17" msdata:roworder="16"><inscode>70270965300262393</inscode><deven>20171029</deven><heven>122602</heven><pclosing>1167.00</pclosing><iclose>0</iclose><yclose>3</yclose><pdrcotval>1125.00</pdrcotval><ztottran>38</ztottran><qtottran5j>162553</qtottran5j><qtotcap>183428695.00</qtotcap><pricechange>-46.00</pricechange><pricemin>1118.00</pricemin><pricemax>1153.00</pricemax><priceyesterday>1171.00</priceyesterday></tradeselecteddate><tradeselecteddate diffgr:id="TradeSelectedDate18" msdata:roworder="17"><inscode>70270965300262393</inscode><deven>20171030</deven><heven>121330</heven><pclosing>1165.00</pclosing><iclose>0</iclose><yclose>3</yclose><pdrcotval>1123.00</pdrcotval><ztottran>35</ztottran><qtottran5j>79652</qtottran5j><qtotcap>90083831.00</qtotcap><pricechange>-44.00</pricechange><pricemin>1119.00</pricemin><pricemax>1164.00</pricemax><priceyesterday>1167.00</priceyesterday></tradeselecteddate><tradeselecteddate diffgr:id="TradeSelectedDate19" msdata:roworder="18"><inscode>70270965300262393</inscode><deven>20171031</deven><heven>122959</heven><pclosing>1170.00</pclosing><iclose>0</iclose><yclose>3</yclose><pdrcotval>1167.00</pdrcotval><ztottran>115</ztottran><qtottran5j>453829</qtottran5j><qtotcap>536095339.00</qtotcap><pricechange>2.00</pricechange><pricemin>1149.00</pricemin><pricemax>1201.00</pricemax><priceyesterday>1165.00</priceyesterday></tradeselecteddate><tradeselecteddate diffgr:id="TradeSelectedDate20" msdata:roworder="19"><inscode>70270965300262393</inscode><deven>20171101</deven><heven>120105</heven><pclosing>1169.00</pclosing><iclose>0</iclose><yclose>3</yclose><pdrcotval>1151.00</pdrcotval><ztottran>36</ztottran><qtottran5j>188638</qtottran5j><qtotcap>219513448.00</qtotcap><pricechange>-19.00</pricechange><pricemin>1147.00</pricemin><pricemax>1190.00</pricemax><priceyesterday>1170.00</priceyesterday></tradeselecteddate></tradeselecteddate></diffgr:diffgram></insttraderesult></insttraderesponse></soap:body></soap:envelope>';

        foreach($xml2->tradeselecteddate->tradeselecteddate as $item)
        {
            echo "<p>Item Code: " . $item->inscode . "</p>";
            echo "<p>Item Date: " . $item->deven . "</p>";
            echo "<p>Item Price: " . $item->pricemin . "</p>";
        }
$xml2='70270965300262393201710071225061149.00031120.0030110107123589100.00-31.001119.001151.001151.0070270965300262393201710081158231138.00031096.0068406755450144550.00-53.001096.001140.001149.0070270965300262393201710091229441138.00031130.00264016245074488.00-8.001111.001136.001138.0070270965300262393201710101228531135.00031099.0041142754158049769.00-39.001099.001138.001138.0070270965300262393201710111237471134.00031149.0070274386309699317.0014.001085.001160.001135.0070270965300262393201710141228041134.00031136.0020132078150068268.002.001134.001147.001134.0070270965300262393201710151228581136.00031164.0030163795189048927.0030.001138.001164.001134.0070270965300262393201710161226101175.00031192.0014513705421619653296.0056.001140.001192.001136.0070270965300262393201710171220381177.00031175.0035530700626571778.000.001175.001189.001175.0070270965300262393201710181229481177.00031154.0030122213143987917.00-23.001154.001190.001177.0070270965300262393201710211229441175.00031130.0043146005168988615.00-47.001130.001190.001177.0070270965300262393201710221229451175.00031152.00132336827075280.00-23.001152.001175.001175.0070270965300262393201710231154551173.00031159.0031189632219538910.00-16.001151.001169.001175.0070270965300262393201710241117151173.00031140.00131863321484920.00-33.001140.001168.001173.0070270965300262393201710251218001173.00031140.00142380027349000.00-33.001140.001165.001173.0070270965300262393201710281227571171.00031135.0024103809118768169.00-38.001135.001169.001173.0070270965300262393201710291226021167.00031125.0038162553183428695.00-46.001118.001153.001171.0070270965300262393201710301213301165.00031123.00357965290083831.00-44.001119.001164.001167.0070270965300262393201710311229591170.00031167.00115453829536095339.002.001149.001201.001165.0070270965300262393201711011201051169.00031151.0036188638219513448.00-19.001147.001190.001170.00';
foreach($xml2->tradeselecteddate->tradeselecteddate作为$item)
{
回显“项目代码:”.$Item->inscode.

”; 回显“项目日期:”.$Item->deven.

”; echo“商品价格:”.$Item->pricemin.

”; }
就像@dormilich所说的,如果您想从soapapi获取数据,应该使用PHP
SoapClient
。您不需要进行任何XML解析


如果出于某种原因,您需要进行XML解析,请使用
Xpath

您自己不解析SOAP XML,因为XML只是SOAP系统中的一个传输层,您可以通过您的SOAP客户端更轻松地访问数据。我使用的是CURL而不是SOAP客户端,现在我不得不使用这种方式(请原谅我的英语句子有误)@ArmanFeyzi,尝试使用
$soap=newsoapclient(“http://your.endpoint.com/route");而不是CURL。@ishegg我说我不能使用SoapClient,因为我在使用SoapClient Web服务时没有返回数据,但当我使用CURL并传递xml正文和标题Web服务时,它工作正常,现在我应该使用这种方式,并尝试将此xml解析为html