Как удалить узел, если он существует с simpleXML - PullRequest
0 голосов
/ 05 августа 2010

Таким образом, я знаю точный путь, который узел будет пытаться удалить. Я перебираю несколько XML-файлов, чтобы обновить часть содержимого. Чтобы добавить новый контент, я должен сначала удалить уже существующий контент.

Вот код, который я пытался использовать, но я получаю ошибку разбора: синтаксическая ошибка, неожиданный T_UNSET

public function hint_insert() {

    foreach($this->hints as $key => $value) {

        $filename = $this->get_qid_filename($key);

        echo "$key - $filename - $value[0]<br>";

        //insert hint within right node using simplexml
        $xml = simplexml_load_file($filename);

        foreach ($xml->PrintQuestion as $PrintQuestion) {

            if (unset($xml->PrintQuestion->content->multichoice->feedback->hint->Passage)) {

                $xml->PrintQuestion->content->multichoice->feedback->hint->addChild('Passage', $value[0]);

            } else {

                $xml->PrintQuestion->content->multichoice->feedback->hint->addChild('Passage', $value[0]);

            }

        }

    }

1 Ответ

0 голосов
/ 05 августа 2010

unset является языковой конструкцией, и вы не можете использовать ее в выражении if. Если вы используете его вне оператора if / не ожидаете, что он вернет что-либо, все будет в порядке.

...