从DOM获取Element后,PHP DOM附加了子元素

时间:2013-08-22 22:03:55

标签: php dom

目前我的XML看起来像

<?xml version="1.0" ?>
<hero-attributes>
    <hero-weaknesses>
        <hero>
            IO
        </hero>
    </hero-weaknesses>
</hero-attributes>

我正在尝试添加

<hero>Wisp</hero>

之后

<hero>IO</hero>

我目前有

<?php
$dir = opendir("../../heroes/");
while ($listing = readdir($dir))
{
    if (substr($listing, 0, 1) == ".")
        continue;

    $dom = new DOMDocument();
    $url = '../../heroes/' . $listing;
    @$dom->load($url);

    $element = $dom->getElementsByTagName('hero-weaknesses')->item(0);
    if(is_null($element))
        die('No element found');

    $hero = $dom->createElement('hero', "IO");
    $hero = $element->appendChild($hero);

    $heroName = $dom->createTextNode('Wisp');
    $heroName = $hero->appendChild($heroName);
}
?>

我得到的错误(当我删除空检查时)

Fatal error: Call to a member function appendChild() on a non-object in C:\GitHub\--\public_html\Scripts\GetHeros.php on line 15

我不知道为什么$ element为NULL,问题是什么

0 个答案:

没有答案