XPath结果到PHP对象

时间:2010-02-01 12:14:29

标签: php xml xpath simplexml

我有一个xml文件,它代表了我在我的应用程序中有一个类的许多对象。例如,博客:

<blogposts>
  <blogpost id="604">
    <title>afdghadfh</title>
    <body>adfgadfgda</body>
  </blogpost>
  <blogpost id="605">
    <title>dafghadh</title>
    <body>afadf</body>
  </blogpost>
</blogposts> 

我想使用XPath读取xml文件并将结果转换为blogpost对象。有没有简单的方法将生成的SimpleXMLElement对象转换为blogpost对象的值?

任何建议表示赞赏。

感谢。

1 个答案:

答案 0 :(得分:2)

根据需要调整。

// blogpost class definition

$blogposts = array();

$xml_resource = new SimpleXMLElement('file.xml', 0, true);

foreach($xml_resource->xpath('/blogposts/blogpost') as $blogpost)
{
    $current_blogpost = new blogpost();
    $current_blogpost->id = (int) $blogpost['id'];
    $current_blogpost->title = (string) $blogpost->title;
    $current_blogpost->body = (string) $blogpost->body;
    $blogposts[] = $current_blogpost;
}