使用带有SimpleXML错误的PHP添加到XML文件

时间:2016-11-29 19:25:10

标签: php xml simplexml

我使用一个简单的simplexml php文件添加到我的XML文件中。由于某种原因,它没有将记录放入XML文件,我的日志显示

  

PHP致命错误:调用成员函数addChild()

想知道有人可以帮帮我吗?可能是非常简单的事情。我附加了PHP代码和XML文件。

PHP:

<?php
$file = 'news.xml';

$xml = simplexml_load_file($file);

$story = $xml->news->story;

$story->addChild('storyid', '33');
$story->addChild('story_pic', 'images/test.jpg');
$story->addChild('story_title', 'Your Title');
$story->addChild('story', 'This is a test story');
$story->addChild('story_date', '01/01/2001');

$xml->asXML($file);
?>

XML

<?xml version = "1.0" encoding="Windows-1252" standalone="yes"?>
<news>
    <story>
        <storyid>1</storyid>
        <story_pic>http://portfoliotheme.org/enigmatic/wp-content/uploads/sites/9/2012/07/placeholder1.jpg</story_pic>
        <story_title>My Test News Story</story_title>
        <story>fdsfsfsdfdsfdsfsfsdfdsfsfdffsfdssfd</story>
        <story_date>22/01/2016</story_date>
    </story>
    <story>
        <storyid>2</storyid>
        <story_pic>http://portfoliotheme.org/enigmatic/wp-content/uploads/sites/9/2012/07/placeholder1.jpg</story_pic>
        <story_title>My Test News Story2</story_title>
        <story>fdsfsfsdfdsfdsfsfsdfdsfsfdffsfdssfd</story>
        <story_date>22/01/2016</story_date>
    </story>
</news> 

1 个答案:

答案 0 :(得分:2)

当然,这已经被解决了数千次,但是:

$file = './news.xml';

$xml = simplexml_load_file($file);
// `$xml` presents root item (`news`) of your xml tree

// add new `story` to your root item (`news`)
$new_story = $xml->addChild('story');

// add items to newly added `$new_story` element
$new_story->addChild('storyid', '33');
$new_story->addChild('story_pic', 'images/test.jpg');
$new_story->addChild('story_title', 'Your Title');
$new_story->addChild('story', 'This is a test story');
$new_story->addChild('story_date', '01/01/2001');

// save as XML
$xml->asXML($file);