我认为对此有一个非常简单的答案。
XML看起来像:
<ORDERSTATUS>
<DATE>10/03/17</DATE>
<INVOICE>abc</INVOICE>
<INVTOTAL Tax="15.00" Freight="18" SubTotal="100.00">133.0</INVTOTAL>
<ORDERSTATUS>
使用simple_xml_load_string
不会返回Tax
,Freight
或SubTotal
元素。它只显示Invoice
[DATE] => 10/03/17
[INVOICE] => abc
[INVTOTAL] => 133.0
如何检索这些内在值?
谢谢
答案 0 :(得分:0)
假设您的xml应以结束</ORDERSTATUS>
simplexml_load_string返回一个SimpleXMLElement,其中有attributes方法,您可以从中获得“税”等。
例如:
$string = <<<XML
<ORDERSTATUS>
<DATE>10/03/17</DATE>
<INVOICE>abc</INVOICE>
<INVTOTAL Tax="15.00" Freight="18" SubTotal="100.00">133.0</INVTOTAL>
</ORDERSTATUS>
XML;
$xml = simplexml_load_string($string);
echo $xml->INVTOTAL->attributes()->Tax;
哪个会给你:
15.00
答案 1 :(得分:0)
您可以使用attributes
访问此内容。首先选择INVTOTAL
,然后选择此attributes
税,这是正常流程
<?php
$string = <<<XML
<ORDERSTATUS>
<DATE>10/03/17</DATE>
<INVOICE>abc</INVOICE>
<INVTOTAL Tax="15.00" Freight="18" SubTotal="100.00">133.0</INVTOTAL>
</ORDERSTATUS>
XML;
$xml = simplexml_load_string($string);
echo "DATE:".$xml->DATE."<br>";
echo "INVOICE:".$xml->INVOICE ."<br>";
echo "INVTOTAL:".$xml->INVTOTAL ."<br>";
echo "Tax:".$xml->INVTOTAL->attributes()->Tax."<br>";
echo "Freight:".$xml->INVTOTAL->attributes()->Freight."<br>";
echo "SubTotal:".$xml->INVTOTAL->attributes()->SubTotal."<br>";
然后输出:
DATE:10/03/17
INVOICE:abc
INVTOTAL:133.0
Tax:15.00
Freight:18
SubTotal:100.00
了解更多信息