ошибки: когда я пишу XML-файл - PullRequest
0 голосов
/ 12 февраля 2012
  1. Как написать строку тега xml в нужное место?<newWord><Heb>bull</Heb><Eng>bu</Eng></newWord>
  2. Когда я запускаю код, я получаю сообщение об ошибке . "В строке 1 в столбце 1: документ пуст" что не так ?
  3. как я могу добавить в тег <newWoed> id = 1, id = 2 как <newWoed id=3>?

    Большое спасибо за помощь.

XML-файл:

<?xml version="1.0" encoding="windows-1255"?>
<Favorite_Word xml:lang="EN"><newWord><Heb>bull</Heb><Eng>bu</Eng></newWord>

<newWord>
    <Heb>Cow</Heb>
    <Eng>Co</Eng>
</newWord>
<newWord>
    <Heb>Camel</Heb>
    <Eng>Ca</Eng>
</newWord>
<newWord>
    <Heb>Bull</Heb>
    <Eng>BUl</Eng>
</newWord>

</Favorite_Word>

PHP-файл:

function addElementToXml($doc='')
{
    if(!$doc)
    {
        $doc = new DOMDocument();
        // we want a nice output
        $doc->formatOutput = true;
        $doc->load('Dictionary_user.xml');
    }
    $Dictionary_user = $doc->documentElement;
    #var_dump($Dictionary_user->childNodes->item(0)->parentNode->nodeName);
    $newWord = $doc->createElement('newWord');
    #$newWord->setAttribute('isbn','http-equiv="Content-Type" content="text/html; CHARSET=windows-1255"');


    $prop = $doc->createElement('Heb','bull');
    $newWord->appendChild($prop);
    $prop = $doc->createElement('Eng','bu');
    $newWord->appendChild($prop);


    $Dictionary_user->childNodes->item(0)->parentNode->insertBefore($newWord,$Dictionary_user->childNodes->item(0));
    header("Content-type: text/xml");
    echo $doc->saveXML();
    $doc->save("Dictionary_user.xml");
}
    addElementToXml();

1 Ответ

0 голосов
/ 12 февраля 2012

Если вы получаете сообщение об ошибке:

DOMDocument::load(): Document is empty in Dictionary_user.xml, line: 1 in foo.php on line 10

Это означает, что он либо читает неправильный документ.Или документ просто пуст.

Чтобы добавить идентификатор, вам нужно вызвать setAttribute только на создаваемом вами узле.

$newWord = $doc->createElement('newWord');
$newWord->setAttribute('id','1');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...