Php 如何正确读取xml并摆脱SimpleXMLElement?
我可以在代码中读取xml输入,但输出具有SimpleXMLElement属性。当我使用echo时,结果有一个“simplexmlement”。 如何从输出中删除此术语 simplexmlement{#253▼ +0: "362932" } 代码是Php 如何正确读取xml并摆脱SimpleXMLElement?,php,xml,laravel,Php,Xml,Laravel,我可以在代码中读取xml输入,但输出具有SimpleXMLElement属性。当我使用echo时,结果有一个“simplexmlement”。 如何从输出中删除此术语 simplexmlement{#253▼ +0: "362932" } 代码是 $xml=simplexml_load_file("$address&league=3"); // dd($xml); $items = array(); foreach ($xml->Odds as $key => $value)
$xml=simplexml_load_file("$address&league=3");
// dd($xml);
$items = array();
foreach ($xml->Odds as $key => $value)
{
$matchid= ($value->FixtureMatch_Id);
echo "$matchid";
xml有点像
我想从输出中删除SimpleXMLElement。您只需将其转换为字符串即可
SimpleXMLElement
实现了几个接口和神奇的方法。例如,Traversable
允许foreach()
和\u toString()
进行字符串转换
echo
是隐式字符串转换,因此它将只输出文本内容
下面是一个简单的XML示例:
$xml = <<<'XML'
<?xml version="1.0" encoding="utf-8"?>
<XMLSOCCER.COM>
<Match>
<Id>362933</Id>
</Match>
</XMLSOCCER.COM>
XML;
$soccer = new SimpleXMLElement($xml);
foreach ($soccer->Match as $match) {
$matchId = $match->Id;
var_dump($matchId);
var_dump((string)$matchId);
echo $matchId;
}
如您所见,该属性是一个
simplexmlement
(首先var\u dump()
)。但是它可以转换成字符串(第二个var_dump()
),而echo
会触发隐式转换 编辑问题并添加您正在解析的xml的示例代码,以及您希望输出的内容。我使用了'matchid'=>(string)$matchid,然后为laravel视图收集它们,它可以工作。谢谢
object(SimpleXMLElement)#5 (1) {
[0]=>
string(6) "362933"
}
string(6) "362933"
362933