Результат XPath в PHP Object - PullRequest
       23

Результат XPath в PHP Object

0 голосов
/ 01 февраля 2010

У меня есть XML-файл, который представляет количество объектов, для которых у меня есть класс в моем приложении. Например, посты блога:

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

Я бы хотел прочитать xml-файл, используя XPath, и преобразовать результаты в объекты blogpost. Есть ли какой-нибудь простой способ преобразовать получившиеся объекты SimpleXMLElement в значения для объекта blogpost?

Любой совет приветствуется.

Спасибо.

1 Ответ

2 голосов
/ 01 февраля 2010

Твик по мере необходимости.

// 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;
}
...