首页  >  问答  >  正文

在 Laravel 或 PHP 中访问和读取 XML 文件中的值和属性

我有一个具有这种结构的 XML 文件,我想从 Laravel 读取它,为此我使用 SimpleXMLElement。

我可以访问“id”和“颜色”属性,但我不知道如何访问该值,在本例中示例为“保时捷或法拉利”

XML 文件

<?xml version="1.0"?>
<cars>
    <car id="0001" colour="blue">porsche</car>
    <car id="0002" colour="red">ferrari</car>
</cars>

PHP 代码

$xmlString = file_get_contents($filename);

$xml = new SimpleXMLElement($xmlString);

foreach ($xml->children() as $child) {
    dd($child);
}

输出结果

SimpleXMLElement {#562
  +"@attributes": array:2 [
    "id" => "0001"
    "colour" => "blue"
  ]
  +"0": "porsche"
}

我可以使用 $child['id'] 或 $child['colour'] 访问 ID 或颜色,但我不知道如何访问法拉利或保时捷的值

P粉012875927P粉012875927332 天前566

全部回复(1)我来回复

  • P粉976737101

    P粉9767371012023-12-16 11:00:38

    您可以像这样访问属性和属性:

    $xmlString = file_get_contents($filename);
    
    $xml = new \SimpleXMLElement($xmlString);
    
    foreach ($xml->children() as $car) {
        echo $car; // porsche
        echo $car['id']; // 0001
        echo $car['colour']; // blue
    
        $carName = (string) $car;
        $carId = $car['id'];
        $carColour = $car['colour'];
    }
    

    回复
    0
  • 取消回复