使用php代码解析xml标签并转换成数组列表并且判断它如果没有available、unavailable、invalid这些参数的时候不要让他报错

2024-04-04 311 0

thinkphp

thinkphp

$xml = simplexml_load_string($xml_string);

$result = [];

// 遍历 available 部分
if (isset($xml->reply->available)) {
    foreach ($xml->reply->available->domain as $domain) {
        $result[] = [
            'domain' => (string) $domain,
            'price' => (float) $domain['price'],
            'premium' => (int) $domain['premium'],
            'duration' => (int) $domain['duration'],
        ];
    }
}

// 遍历 unavailable 部分
if (isset($xml->reply->unavailable)) {
    foreach ($xml->reply->unavailable->domain as $domain) {
        $result[] = [
            'domain' => (string) $domain,
            'available' => false,
        ];
    }
}

// 遍历 invalid 部分
if (isset($xml->reply->invalid)) {
    foreach ($xml->reply->invalid->domain as $domain) {
        $result[] = [
            'domain' => (string) $domain,
            'invalid' => true,
        ];
    }
}

print_r($result);

此代码将 XML 字符串解析为一个数组列表,其中每个元素都是一个数组,包含域、价格、是否为高级域、持续时间(如果存在)、是否不可用或是否无效(如果存在)的详细信息。

如果 XML 中没有 availableunavailable 或 invalid 部分,此代码不会报错,而是生成一个空数组。

    相关文章

    PHP常用时间日期处理总结
    使用PHP获取文件夹中所有文件
    thinkphp8中,数据库的字段是 api_node_id ,值是:多个用英文逗号区分,这种应如何来查询准确的数据取出唯一的主键ID?
    tp(thinkphp6)记录后台操作日志
    ThinkPHP6实现上传图片带水印方法
    ThinkPHP6实现简单的记录网站后台管理操作日志方法

    发布评论