PHP:将XML响应转换为特定的类(对象)

时间:2015-06-25 20:26:54

标签: php xml class rest object

我是一名Java开发人员。如何使用PHP处理XML响应?

  1. 我想调用一个返回XML的服务HTTP(rest)。
  2. 获得此XML响应后,我想将此XML自动转换为Object(类),就像我在Java中完成的那样。 (这是我不知道应对的部分)。
  3. 示例:

    我的xml:

    <?xml>
    <root>
    <user_email>fde@xxx.com</user_email>
    <user_name>FDE Test</user_name>
    <password_expired>false</password_expired>
    </root>
    

    我的课程:

    class User{
    
        private $_userMail;
        private $_userName;
        private $_isPasswordExpired;
    
        // Getters and Setters
    
    }
    

1 个答案:

答案 0 :(得分:2)

首先你可以用curl请求它(curl不仅是选项),here是一个简单的例子。

需要使用simplexml_load_string

将响应xml更改为xml对象
$response = simplexml_load_string($xml_response);

您可以在类构造中设置您喜欢的响应数据。

class User {
   private $_userMail;

   function __construct($response) {
       $this->setUserMail($response->userMail);
   }

   // getters, setters
}

收到回复后,您需要创建User对象并给出响应。

// Create User
$user = new User($response);
// Check if response created a valid object
if ($user instanceof User) {
    // valid 
} else {
    // not valid 
}