You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel/PHP读取XML文件:获取元素属性与文本值方法

如何用SimpleXMLElement获取XML元素的文本内容

要获取<car>元素的文本值(如porsche、ferrari),有两种直接可行的方法:

方法1:强制类型转换为字符串

SimpleXMLElement类内置了__toString()魔术方法,直接将对象转为字符串就能自动返回元素的文本内容:

$xmlString = file_get_contents($filename);
$xml = new \SimpleXMLElement($xmlString);

foreach ($xml->children() as $child) {
    $carName = (string)$child;
    echo $carName; // 依次输出 porsche、ferrari
}

方法2:访问索引0

从你给出的输出可以看到,文本内容被存储在对象的0索引属性中,直接访问这个索引即可获取:

$xmlString = file_get_contents($filename);
$xml = new \SimpleXMLElement($xmlString);

foreach ($xml->children() as $child) {
    $carName = $child[0];
    echo $carName; // 依次输出 porsche、ferrari
}

完整示例(同时获取属性与文本)

如果需要同时读取元素属性和文本内容,完整代码如下:

$xmlString = file_get_contents($filename);
$xml = new \SimpleXMLElement($xmlString);

foreach ($xml->children() as $child) {
    $id = (string)$child['id'];
    $colour = (string)$child['colour'];
    $carName = (string)$child;

    echo "ID: {$id}, 颜色: {$colour}, 车型: {$carName}\n";
}

执行后输出:

ID: 0001, 颜色: blue, 车型: porsche
ID: 0002, 颜色: red, 车型: ferrari

内容的提问来源于stack exchange,提问作者radgezito

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 00:05:13