Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:将XML响应转换为特定类(对象)_Php_Xml_Class_Rest_Object - Fatal编程技术网

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

PHP:将XML响应转换为特定类(对象),php,xml,class,rest,object,Php,Xml,Class,Rest,Object,我是一名Java开发人员。如何使用PHP处理XML响应 我想调用将返回XML的服务HTTP(rest) 在得到这个XML响应之后,我想像在Java中那样自动地将这个XML转换成一个对象(类)。(这是我不知道该处理的部分) 例如: 我的xml: <?xml> <root> <user_email>fde@xxx.com</user_email> <user_name>FDE Test</user_name> <passw

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

  • 我想调用将返回XML的服务HTTP(rest)
  • 在得到这个XML响应之后,我想像在Java中那样自动地将这个XML转换成一个对象(类)。(这是我不知道该处理的部分) 例如:

    我的xml:

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

    首先,您可以使用curl请求它(curl不是唯一的选项),这是一个简单的示例

    并且需要将响应xml更改为xml对象

    您可以在类构造中随意设置响应数据

    class User {
       private $_userMail;
    
       function __construct($response) {
           $this->setUserMail($response->userMail);
       }
    
       // getters, setters
    }
    
    在您得到响应之后,您需要创建用户对象并对其给出响应

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

    我将尝试这种方法,并将结果发布在这里。非常感谢!
    class User {
       private $_userMail;
    
       function __construct($response) {
           $this->setUserMail($response->userMail);
       }
    
       // getters, setters
    }
    
    // Create User
    $user = new User($response);
    // Check if response created a valid object
    if ($user instanceof User) {
        // valid 
    } else {
        // not valid 
    }