我加载一个XML文件并从中获取所需的元素。像这样:
$xml = simplexml_load_file('example.com');
$$exampleElement = $xml->shop->offers->offer;
如果我通过刀片模板中的{{dd($exampleElement)}}输出它,我会得到这样的结果:
SimpleXMLElement {#478 ▼
+"@attributes": array:3 [▶
"id" => "835376"
"available" => "false"
]
+"categoryId": "2411"
...
+"oldprice": "2690"
+"param": array:7 [▶
0 => SimpleXMLElement {#1642 ▶
+"@attributes": array:1 [▶
"name" => "Color"
]
+"0": "Green"
}
1 => SimpleXMLElement {#1643 ▶
+"@attributes": array:1 [▶
"name" => "Brand"
]
+"0": "Adidas"
}
...
]
+"picture": array:2 [▶
0 => "https://example.com/1.jpg"
1 => "https://example.com/2.jpg"
]
}
如果我通过{{$exampleElement}}以标准方式输出,则不会显示任何内容。
我需要做什么才能使元素的输出是这种格式?:
<categoryId>2411</categoryId>
<param name="Color">Green</param>
...
1条答案
按热度按时间muk1a3rh1#
您可以使用SimpleXMLElement的
asXML
方法:基于SimpleXML元素返回格式良好的XML字符串
https://www.php.net/manual/en/simplexmlelement.asxml.php
所以在你的情况下,这将是:
{{ $exampleElement->asXML() }}
如果只想在模板中显示XML,而不想显示其他内容,并希望浏览器将输出处理为XML,则应该绕过刀片模板/视图,直接从控制器中输出具有正确头部的XML: